作者williambug (william)
看板java
标题[问题] 如何执行jar档不用Xmx参数却可用大记忆体
时间Wed Jul 26 14:56:27 2017
第一次发文, 有不符规矩的地方请见谅指正
我写了一个 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 档案而已! 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.133.34.123
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1501052190.A.640.html
1F:→ ssccg: 只用jar的话,你只能在程式里再另外起一个jvm跑同一个jar 07/26 15:02
2F:→ ssccg: 里你真正要跑的main class 07/26 15:08
3F:推 NullLife: 写个bat跑比较简单? 07/26 16:53
4F:→ kogrs: 用launch4j 包成单一exe档执行 并设定你要的启动参数 07/26 20:00
5F:推 now99: bat比较简单吧 07/26 20:21