您的位置:首页 > 编程语言 > Java开发

Failed to create the java virtual machine完全解决办法

2016-09-08 10:32 375 查看
一直用EcliPSe开发java,突然有这么一天,无法启动了,splash窗口显示“Failed to create the Java Virtual Machine”,结果发现eclipse和myeclipse都打不开了,提示Failed to create the Java Virtual Machine!

1.问题现象



第一感觉是jdk问题,于是重装了jdk,配置了环境变量,但eclipse和myeclipse还是打不开,百度一搜,要改配置文件eclipse.ini和myeclipse.ini但却不知在那个目录下,可恨的是搜不到该文件



找了很久才发现,原来就在第一个目录下





修改eclipse.ini配置文件,找到下面的片段:

--launcher.XXMaxPermSize

256M

-showsplash

org.eclipse.platform

--launcher.XXMaxPermSize

256m

修改为:

–launcher.XXMaxPermSize
128M
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
128m

保存后重启,正常启动了。

第二天,问题又出现了。

尝试修改其他参数,当如下修改参数时:

#最后一行

-Xmx512m

修改为:

-Xmx256m

eclipse正常启动了。

2.java虚拟机初始化失败!寻找eclipse解压路径



3.寻找eclipse初始化文件



4.右击打开(此处以ultraedit打开为例)



5.打开寻找初始化。虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制设置(原256,设置为128)

注意:此处设置不可太小,且有两处,图中已有标注



6.保存重启eclipse



说明:PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)等这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。

-Xms128m

表示JVM Heap(堆内存)最小尺寸128MB,初始分配

-Xmx512m

表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。

-XX:PermSize=64MB 最小尺寸,初始分配

-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配

过小会导致:java.lang.OutOfMemoryError: PermGen space

其他解决方案:
方法一:
你把JDK的bin路劲配置在环境变量PATH里面,增加在PATH变量值的最后面,增加的内容类似于:
;C:\Program Files\Java\jdk1.6.0_21\bin;

方法二:
创建eclipse的快捷方式,然后在快捷方式的路径后面增加一个参数,类似于:
eclipse.exe -vm "C:\Program Files\Java\jdk1.6.0_21\bin\javaw.exe"

随便一种都可以启动Eclipse了。
http://www.cr173.com/html/45240_1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: