2012-02-09 69 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可以改变..