当我运行以下程序(使用"java -Xmx151M -cp . com.some.package.xmlfun.Main"
命令运行):
package com.some.package.xmlfun;
public class Main {
public static void main(String [] args) {
char [] chars = new char[50 * 1024 * 1024];
}
}
我需要将最大内存增加到至少151M(-Xmx151M)。因此,当我增加数组大小时,限制需要增加:
- 50 * 1024 * 1024 -> -Xmx151M
- 100 * 1024 * 1024 -> -Xmx301M
- 150 * 1024 * 1024 -> -Xmx451M
为什么看起来 Java 需要每个字符3个字节,而不是文档所建议的2个字节?
同样地,当我创建一个long类型的数组时,它似乎需要12个字节,而不是8个字节;对于int类型,它需要6个字节而不是4个字节。通常情况下,它看起来需要数组大小*元素大小*1.5。
使用以下命令编译:- javac \com\som\package\xmlfun\\*java
使用以下命令运行:- java -Xmx151M -cp . com.some.package.xmlfun.Main
com.some.package.xmlfun
是一个有效的包名吗? - johnchen902