一直用eclipse开发java,突然有一天,启动不了了。splash窗口显示‘创建Java虚拟机失败’,结果发现eclipse和myeclipse都打不开,提示我创建Java虚拟机失败!
1.问题现象
第一感觉是jdk有问题,于是我重装了jdk,配置了环境变量,但是eclipse和myeclipse还是打不开。百度搜索的时候要修改配置文件eclipse.ini和myeclipse.ini,但是不知道在哪个目录。可恨的是我找不到文件。
过了很久才发现是在第一个目录里。
修改eclipse.ini配置文件并找到以下片段:
发射器。XXMaxPermSize
256米
-表演飞溅
org.eclipse.platform
发射器。XXMaxPermSize
256米
修改为:
ndash发射器。xxmaxpermsize 128m-showsplash org . eclipse . platformndash;发射器。XXMaxPermSize128m
保存后重启,正常启动。
第二天,问题又出现了。
尝试修改其他参数,修改参数时如下:
#最后一行
-Xmx512m
修改为:
-Xmx256m
Eclipse正常启动。
2.java虚拟机初始化失败!寻找eclipse解压路径
3.寻找eclipse初始化文件
4.右击打开它(这里以ultraedit为例)
5.打开初始化搜索。为反射对象(如java Permanategeneration对象,如类对象和方法对象)分配内存限制设置(最初为256,设置为128)。
注意:这里的设置不能太小,有两个地方,在图中已经标注了。
6.保存并重启eclipse
注意:PermSize和MaxPermSize表示虚拟机为这些反射对象(如java Permanategeneration)分配内存限制,这些对象不包括在堆区域中。
-Xms128m
表示JVM堆(堆内存)的最小大小为128MB,初始分配。
-Xmx512m
表示JVM堆(堆内存)的最大允许大小为256MB,按需分配。
-XX:PermSize=64MB最小大小,初始分配
-XX:MaxPermSize=256MB最大允许分配大小,按需分配。
短时间将导致:java.lang .内存不足错误:permgenspace
其他解决方案:方法1:您在环境变量PATH中配置JDK的bin路由强度,并将其添加到PATH变量值的后面。添加的内容类似于:c:\ Program Files \ Java \ JDK 1 . 6 . 0 _ 21 \ bin;方法二:创建一个eclipse的快捷方式,然后在快捷方式的路径中添加一个参数,比如:eclipse . exe-VM ' c:\ program files \ Java \ JDK 1 . 6 . 0 _ 21 \ bin \ javaw . exe '启动Eclipse。