[問題] 如何執行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