我在Windows和Linux机器上运行相同的java程序 如果我不添加-Xmx选项(设置为512),在Windows上我得到OutOfMemory 在Linux上,即使没有-Xmx选项,程序也能成功运行。
我的猜测是因为windows和linux处理内存的方式不同 任何人都可以解释这种行为吗?
答案 0 :(得分:5)
默认的最大内存是服务器类计算机上主内存的1/4到1 GB。例如Linux操作系统。 Windows 32位被视为客户端类计算机,默认最大值为64 MB。
http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf