初学者非常容易混淆eclipse.ini文件的作用,这个文件 是 eclipse 软件的 配置文件,配置了eclipse 启动,eclipse是用Java写的,只不过用的IBM自己的SWT (Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处而已),这里设置的最小内存和最大内存是留给启动eclipse程序的那个虚拟机使用的,我们要修改eclipse中java程序的JVM内存大小这里设置是不起作用的。
以下提供两种方法:
一、 修改jdk 使用内存:
找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 “Default VM Arguments ”选项中,填入-Xms64m -Xmx128m 即可,具体如下图:
这里的设置影响整个exlipse中的工程的java虚拟机的内存。
二、修改Run Configurations
1.在代码上右键,依次点击“Run As ”-> “Run Configurations ”,在Arguments 参数中的“VM arguments: ”中填入如下值即可。
-Xms64m -Xmx128m
2.从工程中设置
右键单击工程,选择properties->Java Editor->Run/Debug Settings->双击工程主程序。即弹出配置编辑框:
1和2两种方法是等价
注意:jdk 和Run Configurations两个地方都设置了的话,起作用的是Run Configurations,相当于父子继承关系,子类覆盖了父类的配置
三、查询当前JVM 内存代码
下面是查询当前JVM 内存大小的代码,可以测试以上设置后JVM 的内存是否会变化。增加JVM 内存的配置项后,无需重新启动eclipse 。具体的代码如下:
public class TestMemory { /** * @param args */ public static void main(String[] args) { System. out .println( " 内存信息 :" + toMemoryInfo ()); } /** * 获取当前 jvm 的内存信息 * * @return */ public static String toMemoryInfo() { Runtime currRuntime = Runtime.getRuntime (); int nFreeMemory = ( int ) (currRuntime.freeMemory() / 1024 / 1024); int nTotalMemory = ( int ) (currRuntime.totalMemory() / 1024 / 1024); return nFreeMemory + "M/" + nTotalMemory + "M(free/total)" ; } }
本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1651525