家里连续三天断网导致手机电视电脑都弄不了,于是便跑来了图书馆。
一打开ecplise就出现上面的问题,不过问题很简单解决,打开ecplise目录下的ecplise.ini,看下面红色地方就是要修改的
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M //要修改为为128m
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m //修改为128m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms128m //修改为xms40m
-Xmx1024m //修改为512m
就可以了。
然后现在我要说下原理了
xms和xmx是表示堆空间最大为512m,最小为40m,其实就是虚拟机占用系统的最大内存和最小内存,而其PermGen最大为256M。
xms要大于5%,也就是25.6m
Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java
虚拟机启动时创建的。
堆内存分配:
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;
JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。
而PermGen是虚拟机为java永久生成对象等这些可反射对象分配存的限制,这些内存不包括在堆内存区之中。