[问题] 如何执行jar档不用Xmx参数却可用大内存

楼主: williambug (william)   2017-07-26 14:56:27
第一次发文, 有不符规矩的地方请见谅指正
我写了一个 Java Application (Swing) 封装成 .jar 档, 放在桌面上点两下就可以执行
但是有个问题, 如果我在解析一些很大的资料档的时候, 就会出现 OutOfMemory 的
Exception出现, 但我不太可能要求 End User 使用命令列方式去启动 .jar 档
(去指定 Xmx 参数等动作), 有办法在封装 .jar 档案的时候, 就把要求大内存的需求
纪录在 .jar 档案吗? 让 JVM 要去启动他的时候就自动把上限拉到例如16G这样的程度
我要解析的 binary data file 往往可能有 1G 以上的量, 因为资料特性的问题,
不容易用 temp file 去降低内存用量的需求, 所以我的问题不是在改善程式本身
而是请教一下大家, 有没有可能把大内存的需求, 直接纪录在 .jar 档上
让 JVM 一启动就知道要配个这个 Java Application 一个很大的内存空间
如果是说写成一个 .bat 把参数写在里面, 虽然说也可以, 但就有点不方便了,
因为我是希望交给 End User 的就只是一个 .jar 档案而已! 谢谢~
作者: ssccg (23)   2017-07-26 15:02:00
只用jar的话,你只能在程式里再另外起一个jvm跑同一个jar里你真正要跑的main class
作者: NullLife (废材大叔有点累)   2017-07-26 16:53:00
写个bat跑比较简单?
作者: kogrs (kogrs)   2017-07-26 20:00:00
用launch4j 包成单一exe档执行 并设定你要的启动参数
作者: now99 (陈在天)   2017-07-26 20:21:00
bat比较简单吧

Links booklink

Contact Us: admin [ a t ] ucptt.com