我主要是利用了VM工具进行查看,发现eclipse启动时经常进行新生代和老年代的垃圾回收和内存扩展,基于此做的响应优化。具体代码如下,配置在eclipse的eclipse.ini配置文件中即可:
-Xms512m -Xmx512m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=256ms -XX:+DisableExplicitGC -Xnoclassgc -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85
具体作用是指定了堆(512m)、新生代(128m)和老年代(512-128=384m)、永久代(128m--256m)的大小,避免过于高频的内存分配;启动过程中禁用显式的垃圾回收;以及使用CMS垃圾回收器(可以在后台进行垃圾回收,而不中断对用户的响应),以及调高垃圾回收的临界值(内存占用率达到85%时再进行垃圾回收)。