我创建了一个简单的Java文件,它在system.out上打印一些东西,用以下代码编译和运行它,
public class MyClass {
public static void main(String[] args) {
System.out.println("MyClass here");
}
}
java -Xmx1024m MyClass
我得到了
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
我有4GB内存,我根本不知道为什么这不起作用。做java -Xmx512m MyClass
有效,但我想知道为什么1GB会被拒绝。
答案 0 :(得分:1)
使用-Xms512m -Xmx1024m
运行默认VMeclipse的默认设置有点低,这有点像记忆。
答案 1 :(得分:1)
我遇到了类似的问题 - 对我而言,限制是在接近768M的RAM。显然,JVM试图获得更大的内存,并且在某些情况下存在限制,应用程序可以获得多少RAM。
如果您使用的是32位系统,但能够使用64位,请使用后者,这可能有所帮助。在64位系统上,我没有遇到这个错误。