在jvm学习中一点点学习了eclipse的优化.目录下有一个计算eclipse启动时间的插件,只要放到eclipse的plugin目录下就可以.
1 首先,java版本的升级可以带来性能的免费提升.比如从jdk5升级到jdk6.通过eclipse.ini中的-vm参数 ,修改了JVM路径,使用了jdk1.6 update21.但是报了一个out of memery..具体的原因是:永久代溢出.hotspot默认的永久代是64M,但是很明显eclipse这种大的工具来说64M的永久代根本不够.但是在使用jdk1.5的时候却不会出现内存溢出,原因在于,eclipse.ini中存在一个--launcher.XXMaxPermSize 256M 参数.当eclipse.exe运行在sun公司的虚拟机上的时候,就会自动把-XX:MaxPermSize=256m传入到jvm运行参数中,所以不会有溢出问题.但是问题在于,JDK1.6 Update21以后java.exe等命令的Company属性从 Sun变成了Oracle.eclipse就不识别这个参数,所以也不会把-XX:MaxPermSize=256m参数带过去,所以造成了永久代内存溢出的问题.
经测试,这个问题在eclipse3.6中已经解决.
2 经过测试jdk6对于eclipse的字节码验证比jdk5多了将近4s(这个具体的讨论可以见 www.iteye.com/topic/826542).考虑到eclipse还是比较靠谱的,所以我们可以去除字节码验证.添加 -Xverify:none
3 第三个调节的地方在于,尽量减少GC的次数.eclipse启动的full gc主要的原因在于 老年代和永久代的扩容.所以针对这个方面,可以固定老年代和永久代的内存大小..做法是 -Xms512m -Xmx512m -XX:PermSize=96m -XX:MaxPermSize=96m
由于我本机eclipse刚装,启动时间差不多是4.6s的样子.所以我个人设置这两个值效果并不是很明显(大概提升了0.1s).个人建议还是升级到96m的样子,因为根据我的这边看到的数字,永久代大小(permsize)大概是55m的样子.系统默认的最小值是64m.估计随便装几个插件或者工程就会造成扩容(注意eclipse.ini里面定义了,最大的permsize是256m)
还有一个地方在于,eclipse在启动的时候代码中显式的调用了几次gc(也就是显式的System.gc();).这样也会额外的增加gc的次数.所以,我们可以强制关闭显式gc.所以带上参数 -XX:+DisableExplicitGC
除了启动的时候,我们在使用eclipse编写代码的时候,我们也可以做一些优化来减少full gc的次数.因为一次full gc基本都要超过1s的,修改系统默认老年代gc频率,系统默认是老年代中内存占68%就进行一次full gc.我们可以增加.-XX:CMSInitiatingOccupancyFraction=85 这样就改成85%才full gc
4 优化代码编译.代码编译是一个非常耗时的任务.查看VisualVM 的参数看到,在全工程编译的时候其实CPU的占用并不高,这点可以利用,我们可以一边编译一边干其他事,对于这个应用来说,CMS收集器是最合适的.所以强制指定eclipse的垃圾收集器为CMS.-XX:+UseParNewGC -XX:+UseConcMarkSweepGC 注意,如果CPU不高的话,可以不考虑这个优化
最后总结一下
--设置最大的堆和最小堆大小.两者一样表示固定大小.这样可以防止老年代内存扩展造成额外的gc.当然也会多占一些内存.系统内存不足的慎用
-Xms512m
-Xmx512m
--加大年轻代内存.减少minor gc
-Xmn164m
--这个是永久代大小.默认是64M,增加到96M.固定大小,减少扩展造成的gc
-XX:PermSize=96m
-XX:MaxPermSize=96m
--去除字节码验证
-Xverify:none
--屏蔽显示调用gc.
-XX:+DisableExplicitGC
--关闭类垃圾回收,就可以消除由于多次装入和卸装同一个类而造成的开销
-Xnoclassgc
--指定最适合多任务并行的CMS垃圾收集器
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
--修改默认的触发老年代full gc的内存所占比..改成85%
-XX:CMSInitiatingOccupancyFraction=85
分享到:
相关推荐
本人多年的eclipse优化配置项,eclipse或者myeclipse导入pro...参数文件,就可使用,有保护眼睛的背景色,有修改好的代码补全,还有自定义的代码注释(需要修改)等等方便快捷的设定,等待你的发现LOL....
### Eclipse 优化详解 #### 一、概述 Eclipse 是一款功能强大的开源集成开发环境(IDE),被广泛应用于 Java 开发以及其他多种编程语言的开发工作。然而,由于其丰富的插件系统和高度可定制化的特性,Eclipse 在...
### Eclipse优化设置详解 #### 一、编码设置 在使用Eclipse进行开发时,正确的文本编码设置至关重要。不恰当的编码设置可能导致文件显示乱码,影响代码阅读与维护。 **步骤1:** 打开“首选项”对话框,具体路径为...
这是我日常总结的 eclipse优化文本,今天呢,我分享给大家。关闭自动构建。在启用时,每保存一下,eclipse就会自动为我们构建整个项目
Eclipse优化设置导入导出插件及源码 由本人自己研发,下载之后解压,在解压目录下,是源码包和jar格式的插件,将***.jar文件插件直接放入Eclipse或是MyEclipse安装目录下的dropins插件文件夹,重启Eclipse即可看到...
本教程将介绍如何对Eclipse进行优化设置,以提升其性能。 首先,为了加快Eclipse的启动速度,我们可以采取以下措施: 1. **指定JRE路径**:在`eclipse.ini`配置文件中添加`-vm`参数,指定Eclipse应该使用的Java...
本文将详细讨论如何对Android Studio和Eclipse进行优化设置,以实现更快的编译速度和更流畅的开发体验。 首先,针对Android Studio的优化: 1. **安装Intel HAXM模拟器加速**:HAXM(Hardware Accelerated ...
为了提高Eclipse的启动速度和运行效率,我们可以对Eclipse的配置进行优化。以下是一些关键的优化策略,主要集中在JVM(Java虚拟机)参数的调整和Eclipse配置文件的修改上。 1. **JVM 参数优化**: - `-server`:...
自己总结的,觉着方便的朋友你也可以制作一个这样的.settings.zip,当新装eclipse或旧eclipse配置太混乱时,清空上述.settings目录,把此文件解压至就好了。
MyEclipse 6.0.1,Eclipse的优化,提示; MyEclipse 6.0.1界面,“File”→“Import”,在弹出的窗口中选择“Perferences”,点击 “下一步”,选择刚在已经修改的“test.epf”文件,点击“打开”,点击“Finish”。...
实战:Eclipse运行速度调优。案例分析。高性能硬件上的程序部署策略
Eclipse是一款广泛使用的Java集成开发环境,其丰富的配置选项为开发者提供了极大的便利。本文将详细介绍在Eclipse中的一些常用配置,这些配置对于初学者来说尤其重要,能够提升开发效率和舒适度。 首先,Eclipse的...
### Eclipse内存优化详解 在IT领域,特别是在Java开发中,Eclipse作为一个广泛使用的集成开发环境(IDE),其性能和稳定性对开发效率有着直接的影响。然而,由于Eclipse本身较为复杂的功能和架构,它可能会消耗大量...
- 如果必须使用Eclipse,寻找专门为Eclipse优化的第三方库,或者将Android Studio项目转换为Eclipse兼容格式。 通过以上步骤,开发者可以在Eclipse环境中成功地使用FloatingActionButton,尽管过程中可能需要克服...
【Eclipse性能优化】在开发过程中,Eclipse作为一款强大的Java集成开发环境,有时在处理重量级框架或大型项目时可能会出现性能问题,如编辑jsp、js文件时卡死等现象,这严重影响了开发效率。以下是一些针对Eclipse...
### Eclipse的内存优化与内存不足问题 #### 一、引言 在开发过程中,经常会遇到IDE(集成开发环境)如Eclipse运行缓慢甚至崩溃的情况,这往往与内存管理不当有关。本文将详细介绍如何针对Eclipse进行内存优化,解决...
Eclipse 是一个功能强大且灵活的集成开发环境(IDE),但是如果不进行适当的设置和优化,可能会出现卡顿、内存占用过高等问题。以下是 Eclipse 设置、调优和使用的一些知识点: 一、Eclipse 启动优化 1. 减少 JVM ...
以下是针对Eclipse启动速度优化、运行时性能提升以及日常使用中的实用技巧的详细说明。 首先,Eclipse在启动时会搜索JRE(Java Runtime Environment),这个搜索过程可能会导致启动速度减慢。通过在Eclipse配置文件...