我一直在eclipse和intellij上os x上查看JVM堆大小,並直接通過命令行運行應用程序,我看到一個奇怪的行爲,我希望有人能解釋。java os x堆大小問題
如果我設置JVM堆大小爲食的東西大(例如超過1GB),然後運行執行
的System.out.println(調用Runtime.getRuntime()Hello World應用程序。maxMemory ());
我看到它有129957888(128mb)作爲最大內存。
如果我運行的IntelliJ相同的實驗,我得到了相同的結果,但在右下角的堆大小指示說:我只使用了100MB 2GB,我可以的。
如果我只是運行java測試-Xmx1024mb,那麼它告訴我,我有適量的最大內存。 (高達8倍)
我已經在10.6和10.7嘗試這樣做,我看到了同樣的事情,所以我不知道是怎麼回事與IDE不是需要消耗大量的堆大小爲我希望他們。當我在我的機器上坐着沒有使用過的內存時,我得到了一堆空間錯誤,我發現這很荒謬。
感謝任何人都可以提供的幫助。