一、问题分析
★关于Eclipse出现failed to create the java virtual machine...等情况
1.重装系统之后会发现eclipse很意外的打不开
2.有时候Eclipse使用的时间过长
3.以上情况都会出现如图所示:
二、解决方案
1.首先寻找eclipse解压路径,进入到eclipse的安装文件夹,右击打开 eclipse.ini 文件
2.如图所示将256M改成128M,可以正常打开eclipse了(注意:一共有两处,两处都要修改)
3.源文件如下
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
4.修改后的文件
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
128M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
128m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
5.修改后配置文件后,重新启动Eclipse就可以了
三、问题分析
★对于这种问题之前并没有出现过,一开始自己也没有处理后, 后来通过大量地查询资料,才知道问题的原因,总结结果如下
1.主要原因是由于计算机分配的内存过大引起的,以通过修改eclipse的配置文件来解决这种情况;
2.java虚拟机初始化失败,因为虚拟机为java永久生成对象,如:class对象、方法对象这些可反射,造成对象分配内存过大;
3.对于以上的情况只要把eclipse.ini配置文件中的最大尺寸256MB修改成128m(两个的地方都要修改)就可以了;
4.至于为什么要这样修改,原因如下:
-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配 -Xmx512m 表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。