初学者非常容易混淆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

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐