2012-02-09 79 views
1

j2me設備中的「Maximum Heap Size = Unlimited」是什麼意思? 設備示例: http://www.developer.nokia.com/Devices/Device_specifications/E71/j2me設備中的「Maximum Heap Size = Unlimited」是什麼意思?

我可以增加應用程序的堆大小嗎?

+1

不知道(我最後一次開發J2ME應用程序的幾年中,它會顯示錯誤之前),但我認爲這意味着Java VM並不侷限於某些「特殊」數量的堆,而是使用設備的整個可用內存 - 而不是老的支持j2me的設備,這些設備對本機應用程序和midlet具有單獨的內存限制。 – Mersenne 2012-02-09 22:02:08

+0

在NokiaE7(上述鏈接)中,可用的本機RAM內存爲128 MB,但在midlet中,總內存爲= 150 KB – iberck 2012-02-09 22:28:08

回答

8

Heap Memory表示在編程中,爲程序實際執行時在運行時創建的數據保留的內存區域。相反,堆棧是一個用於數據大小可以在程序編譯時確定的內存區域。

Java堆是分配給JVM應用程序的堆大小,它負責處理正在創建的新對象。如果創建的對象超出堆大小,它會拋出一個錯誤,說memoryOutof綁定

Java's default heap size limit is 128MB。如果你需要的不止這些,你應該在啓動你的程序時使用-Xms和-Xmx命令行參數: java -Xms -Xmx

我們也可以給這個格式也.format是:-mx256m。 。有時,如果你正在使用

的java -Xms -Xmx format..In這種情況下使用-mx256m THIS.VALUE可以改變..