【问题标题】: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

标签: java memory java-me heap-memory


【解决方案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 可以更改..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-26
    • 2020-07-01
    • 2020-05-03
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多