今天在机子上使用Eclipse时候打开发现这两个问题,经过查阅资料膜拜大神博客得知解决方法,特此整理下来,方便后来遇到此问题的小伙伴们。html
一开始打开Eclipse时候出现问题现象1,问题1解决之后就出现了问题2,。java
1.问题1现象(eclipse failed to create the java virtual machine)eclipse
2.问题1解决方法jvm
这是建立Java虚拟机初始化失败,找到Eclipse解压路径以及初始化文件ide
用ultraEdit打开,出现以下图所示状况时,点击“否”或者“取消”皆可学习
出现以下图所示,此时将圆圈里的数字都改成显示的1/2就能够了(如,原始值为512则改成256,原始值为256则改成128等),注意,某经验(http://jingyan.baidu.com/article/afd8f4de466baf34e286e917.html)某知道(http://zhidao.baidu.com/link?url=dRzVjFMK_2MW1smnuLH4dIKEmV3YlDQHPABoV3VkRDfKt8nE_WmV50yiY3vSDu8gqOiCaKtgRGNFAoqW4UxoYa)所列出的this
方法没有说明具体怎么改,不一样版本的初始化文件内容不一样。url
更改后文件为下图所示(红色圆圈中为所作改动之处)spa
保存之后从新打开Eclipse完美解决“eclipse failed to create the java virtual machine”的问题。.net
3.问题1解决方法参考资料
感谢此博客博主(http://blog.csdn.net/yuanfei_1988/article/details/5919168)可是博主只是对前两个进行了当前值改成1/2的变更,可是
我按照此方法没有修复这个问题,因此我就把4个值都改了,这才管用。
如下引自上述博客:
----------------------------------------------------------------------------------------------------------------------------------
“虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制设置。
说明: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”
------------------------------------------------------------------------------------------------------------------------------------
4.问题1另外一解决方法(貌似抓住了问题的根本)
感谢@wucccsk 与@JustDoNow 在此博客(http://blog.csdn.net/yuanfei_1988/article/details/5919168)评论区给出的另外一种解决方法并作出了相应的解释,以下:
我的认为,若是机器已经装了jdk了,在eclipse.ini中增长jvm的完整路径的方法更好一点。若是不设置vm选项,有可能eclipse会使用自带的java虚拟机,这样须要的内存就会超过默认的256m的限制了,是这个缘由。。。
找到了另外一个解决方案,就是在eclipse.ini中增长jvm的完整路径:
-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe
----------
注意这个参数的放置位置,我放在文件最下面时仍是不行,放在-vmargs参数上面就能够了。
PS:此方法我木有尝试,如上述方法不能解决或出现问题时可选择此方法解决。
-------------------------------------------------------------------------------------------------------------------------------------
但是就在我兴高采烈地准备打开心爱的Eclipse开始我苦逼的学习时刻时候,我发现,另外一个问题接踵而来,妈蛋 = =
5.问题2现象(locking is not possible in the directory)
其具体现象以下图所示:
6.问题2解决方法
依然按照问题1解决方法找到并打开 Eclipse directory中的eclipse.ini
在文件最后加入加入这句话:“-Dosgi.configuration.area=@user.home/.eclipse”(注意添加为引号内的)
以下图所示:
上图中圆圈内为新加入内容。
最后保存, 从新打开eclipse完美修复!
7.问题2参考资料
(1)某经验:http://jingyan.baidu.com/article/a17d52853a90998099c8f249.html
(2)某贴吧:http://tieba.baidu.com/p/3032965697(6楼)
Inside the Eclipse directory you can find a eclipse.ini file. There you can put the vm arguments, although the one suggested by Eclipse won't work.
My environment started working with this one:
-Dosgi.configuration.area=@user.home/.eclipse
This way, each user inside the environment that run the Eclipse program, will create a different .eclipse directory inside the particular home, with full rights and zero problems.
啊!终于能够顺利的学习了!