j2me 设备中的“最大堆大小 = 无限”是啥意思?

Posted

技术标签:

【中文标题】j2me 设备中的“最大堆大小 = 无限”是啥意思?【英文标题】:What does mean "Maximum Heap Size = Unlimited" in a j2me device?j2me 设备中的“最大堆大小 = 无限”是什么意思? 【发布时间】:2012-02-09 21:37:54 【问题描述】:

j2me 设备中的“最大堆大小 = 无限制”是什么意思? 以设备为例: http://www.developer.nokia.com/Devices/Device_specifications/E71/

我可以增加应用的堆大小吗?

【问题讨论】:

不确定(几年前我上次开发 j2me 应用程序),但我认为这意味着 Java VM 不限于某些“特殊”堆数量,而是使用设备的全部可用 RAM - 相反到支持 j2me 的旧设备,这些设备对本机应用程序和 midlet 有单独的内存限制。 NokiaE7(以上链接)可用的本机 RAM 内存为 128 MB,但在 midlet 中,总内存为 = 150 KB 【参考方案1】:

Heap Memory 在编程中是指为运行时(即程序实际执行时)创建的数据保留的内存区域。相反,堆栈是用于存储数据的内存区域,其大小可以在程序编译时确定。

Java 堆是分配给 JVM 应用程序的堆大小,它负责处理正在创建的新对象。如果正在创建的对象超过堆大小,则会抛出 memoryOutof Bound 错误

Java's default heap size limit is 128MB。如果您需要更多,您应该在启动程序时使用 -Xms 和 -Xmx 命令行参数: java -Xms -Xmx

我们也可以用这种格式给出类似的格式。格式是:-mx256m..如果你使用它有时会显示错误

java -Xms -Xmx 格式..在这种情况下使用 -mx256m this.value 可以更改..

【讨论】:

以上是关于j2me 设备中的“最大堆大小 = 无限”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

XCode Instrumentation 中的“仅支持本地设备”是啥意思

如何修复诺基亚设备(J2me)中的媒体异常

使用 j2me 在游戏中的诺基亚设备振动

Linux里“挂载”是啥意思?

各位大神单片机中的SPI是啥意思应该怎样理解?

在 CDC 设备 j2me 上播放音频