这里以《给NetBeans IDE 换衣服》一文的配置为例:
1 | netbeans_default_options="-J-client -J-Xss2m -J-Xms256m -J-Xmx682m -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled -J-XX:PermSize=32m -J-XX:MaxPermSize=384m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dnimrodlf.themeFile=/opt/netbeans/bin/DarkGrey.theme -cp:p /opt/netbeans/bin/nimrodlf-1.2.jar --laf com.nilo.plaf.nimrod.NimRODLookAndFeel -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --fontsize 12" |
-J-Xmx682m 最大堆大小,此设置用于指定 Java 虚拟机应该用于堆的最大内存。对此数值设置硬性上限意味着 Java 进程不能使用比可用的物理 RAM 更多的内存。对于具有更多内存的系统可以提升此限制。注意:不要将此值设置为接近或大于系统中的物理 RAM 数,否则在主要回收过程中将导致频繁的交换空间操作。一般来说设置此值为本机物理内存的1/3 大小是比较合适的,这里我是2GB内存的机子。
内存和垃圾收集机制配置,使用NetBeans的缺省配置,在长时间的运行后,往往会突然间僵住了,没有响应,这是因为JVM缺省的垃圾收集机制不使用增量式并行收集,而是隔断时间后,等内存垃圾积累到一定程度,完全锁定甚至暂停虚拟机,进行垃圾收集。可以将这种垃圾收集机制改成增量式并行收集,避免这种僵死。加上 -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled 后能有效解决此类问题。
-J-XX:PermSize=32m 这是一个较特殊的 JVM 开关,但它也缩短了启动时间。此设置用于调整内存中“永久区域”(持久代)的大小。由于我们知道所有 IDE 类均占用特定数量的内存,因此我们向 JVM 提示它将需要的内存数量。此设置消除了许多系统上启动过程中的主要垃圾回收事件。
Perm(俗称方法区)占整个堆内存的最大值。
个人觉得NetBeans缺省的工具栏按钮太大,可以右键点击工具栏,从下拉菜单中选择Small Toolbar Icons。
-J-Dawt.useSystemAAFontSettings=lcd 启用Lcd反走样效果。
字体锯齿问题,在Windows下需要明确打开操作系统的字体边缘平滑设置后,才起作用。LCD屏幕的电脑可以通过启用ClearType来美化字体效果。
–fontsize 12 设置NetBeans IDE 用户界面中的字体大小,以磅表示。如果未使用此选项,则字体大小为 11 磅。(编辑器的字体可以通过选项设置来实现)
–open file:line number 在源代码编辑器中打开文件,并将光标置于指定行上。
com.sun.java.swing.plaf.motif.MotifLookAndFeel
javax.swing.plaf.metal.MetalLookAndFeel
–locale en:US (注意,这里不带-J)
-J-Duser.language=zh -J-Duser.region=CN //中文
-J-Duser.language=de -J-Duser.region=DE // 德语
-J-Duser.language=en -J-Duser.region=US // 英语
-J-Duser.language=fr -J-Duser.region=FR // 法语
-J-Duser.language=ru -J-Duser.region=RU // 俄语
二、禁用不必要的模块
禁用没有使用的模块:Tools》Plugins》Installed
选择不用的模块,Deactivate。
我这里去掉了 Glashfish、JSF、CVS等。
NetBeans的优化配置