当我运行以下程序(运行"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];
}
}
Run Code Online (Sandbox Code Playgroud)
我需要将最大内存增加到至少151M(-Xmx151M).因此,当我增加数组大小时,需要增加限制:
为什么看起来java每个字符需要3个字节,而不是文档建议的2个字节?
此外,当我类似地创建长数组时,似乎每个长度需要12个字节,而不是8个,使用int它需要6个字节而不是4个.通常看起来它需要array_size*element_size*1.5
用.编译 - javac \com\som\package\xmlfun\\*java
跑步 - java -Xmx151M -cp . com.some.package.xmlfun.Main