[問題] 如何執行jar檔不用Xmx參數卻可用大記憶體

看板java作者 (william)時間7年前 (2017/07/26 14:56), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
第一次發文, 有不符規矩的地方請見諒指正 我寫了一個 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://www.ptt.cc/bbs/java/M.1501052190.A.640.html

07/26 15:02, , 1F
只用jar的話,你只能在程式裡再另外起一個jvm跑同一個jar
07/26 15:02, 1F

07/26 15:08, , 2F
裡你真正要跑的main class
07/26 15:08, 2F

07/26 16:53, , 3F
寫個bat跑比較簡單?
07/26 16:53, 3F

07/26 20:00, , 4F
用launch4j 包成單一exe檔執行 並設定你要的啟動參數
07/26 20:00, 4F

07/26 20:21, , 5F
bat比較簡單吧
07/26 20:21, 5F
文章代碼(AID): #1PU3qUP0 (java)
文章代碼(AID): #1PU3qUP0 (java)