Eclipse优化设置技巧

一、Eclipse优化设置

一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些优化配置,就会有很大的改善,下面说说eclipse优化设置方面的技巧。

加快启动速度

1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让eclipse启动变慢了。(没设置时,等2-3s出现进度条,设置后直接出现进度条)

只要在eclipse.ini中加入-vm的参数就可以了

2.取消所有启动时要激活的插件(在用时激活也一样)和其它的相关的在启动时执行的操作。

3.关闭自动更新

减少jvm内存回收引起的eclipse卡的问题

这个主要是jvm在client模式,进行内存回收时,会停下所有的其它工作,带回收完毕才去执行其它任务,在这期间eclipse就卡住了。所以适当的增加jvm申请的内存大小来减少其回收的次数甚至不回收,就会是卡的现象有明显改善。

主要通过以下的几个jvm参数来设置堆内存的:

-Xmx512m最大总堆内存,一般设置为物理内存的1/4

-Xms512m初始总堆内存,一般将它设置的和最大堆内存一样大,这样就不需要根据当前堆使用情况而调整堆的大小了

-Xmn192m年轻带堆内存,sun官方推荐为整个堆的3/8

堆内存的组成总堆内存 = 年轻带堆内存 + 年老带堆内存 + 持久带堆内存

年轻带堆内存对象刚创建出来时放在这里

年老带堆内存对象在被真正会回收之前会先放在这里

持久带堆内存class文件,元数据等放在这里

-XX:PermSize=128m持久带堆的初始大小

-XX:MaxPermSize=128m持久带堆的最大大小,eclipse默认为256m。如果要编译jdk这种,一定要把这个设的很大,因为它的类太多了。

我的配置(2g内存的笔记本):

还有其它的相关参数可以看看下面的参考材料,很有启发的:

-XX:+UseParallelGC 使用并发内存回收

-XX:+DisableExplicitGC 禁用System.gc()的显示内存回收

eclipse相关设置来来减少卡的现象

1.关闭自动构建。在启用时,每保存一下,eclipse就会自动为我们构建整个项目,这样对于大的项目来说,每次保存时都会造成很卡。其实自动构建完全没有必要,只要保证在运行前构建一次就ok了,eclipse也会在运行前自动为我们构建,所以关闭是最明智的选择。

2.关闭拼写检查设置


二、eclipse中设置JVM内存

        初学者非常容易混淆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 。具体的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值