﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-微蓝领域-文章分类-eclipse</title><link>http://www.blogjava.net/hilor/category/24649.html</link><description>我的学习档案馆</description><language>zh-cn</language><lastBuildDate>Tue, 04 Sep 2007 19:56:37 GMT</lastBuildDate><pubDate>Tue, 04 Sep 2007 19:56:37 GMT</pubDate><ttl>60</ttl><item><title>Log4j学习笔记</title><link>http://www.blogjava.net/hilor/articles/137546.html</link><dc:creator>hilor</dc:creator><author>hilor</author><pubDate>Fri, 17 Aug 2007 06:54:00 GMT</pubDate><guid>http://www.blogjava.net/hilor/articles/137546.html</guid><wfw:comment>http://www.blogjava.net/hilor/comments/137546.html</wfw:comment><comments>http://www.blogjava.net/hilor/articles/137546.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hilor/comments/commentRss/137546.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hilor/services/trackbacks/137546.html</trackback:ping><description><![CDATA[<p>在网上学习了一下Log4j，以下是一些简单的学习笔记<br><br>Apache的开源项目Log4j是一个功能强大的日志组件,提供快速有效的日志记录，开发者通过简单的学习，即可为自己的程序中加入非常实用的日志功能。<br>在apache网站：<a href="http://jakarta.apache.org/log4j"><u><font color=#0000ff>http://jakarta.apache.org/log4j</font></u></a> 可以免费下载到Log4j最新版本的软件包，解压，将其中打包好的的log4j-1.x.x.jar文件复制到classpath相关目录下 。</p>
<p>一、快速体验<br>ok，现在就可以来体验一下Log4j的功能，按以下步骤在程序中快速加入了日志功能。<br>参看下面这个简单的例子一：<br>第一步: 用import导入Log4j需要使用的相关的类<br>第二步: 定义获取一个日志记录器Logger的对象<br>第三步: 装入Log4j的配置文件，或者使用缺省环境的配置<br>第四步：现在可以在你的程序中想输出日志的地方，使用Logger类提供的以下方法，插入不同优先级的日志了。<br>&nbsp;debug(Object message ) ;<br>&nbsp;info(Object message ) ;<br>&nbsp;warn(Object message ) ;<br>&nbsp;error(Object message ) ;</p>
<p>大功告成！是不是非常简单呢？完全可以取代以前常用来调试程序的System.out.println("xxxxxxxxxxxx")这样的语句,而且log4j可以通过自定义配置文件来灵活地对日志输出的级别进行控制。<br>＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃<br>例子一：<br><font color=#0033cc>package com.study;</font></p>
<p><font color=#0033cc>/**导入Log4j需要使用的相关的类*/<br>import org.apache.log4j.Logger;<br>import org.apache.log4j.BasicConfigurator;</font></p>
<p><font color=#0033cc>/**<br>&nbsp;* &lt;p&gt;Title: Log4j例子&lt;/p&gt;<br>&nbsp;* &lt;p&gt;Description: 快速在程序中使用Log4j&lt;/p&gt;<br>&nbsp;* &lt;p&gt;Copyright: Copyright (c) 2004&lt;/p&gt;<br>&nbsp;* @author Robin <br>&nbsp;* @version 1.0<br>&nbsp;*/<br>public class HelloLog4j {</font></p>
<p><font color=#0033cc>&nbsp; //定义日志记录器logger，所有的日志由它来负责记录,<br>&nbsp; static Logger logger=Logger.getLogger(HelloLog4j.class.getClass());</font></p>
<p><font color=#0033cc>&nbsp; public static void main(String[] args) {<br>&nbsp;&nbsp;&nbsp; //使用缺省环境来配置Log4j<br>&nbsp;&nbsp;&nbsp; BasicConfigurator.configure();<br>&nbsp;//使用配置文件来配置Log4j<br>&nbsp;//PropertyConfigurator.configure ( "D:\\testLog4j.properties" ) ;</font></p>
<p><font color=#0033cc>&nbsp;&nbsp;&nbsp; //插入日志信息<br>&nbsp;&nbsp;&nbsp; logger.info("HelloLog4j开始执行");<br>&nbsp;&nbsp;&nbsp; try {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HelloLog4j helloLog4j1 = new HelloLog4j();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count=helloLog4j1.count(1,-32);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.debug("count的值为："+count);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch (Exception e) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.error("error"+e.getMessage());<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; logger.info("HelloLog4j执行完成");&nbsp;&nbsp;&nbsp; <br>&nbsp; }<br>&nbsp; /**<br>&nbsp;&nbsp; * 求两整数数之和<br>&nbsp;&nbsp; * */<br>&nbsp; public int count(int a,int b) {<br>&nbsp;&nbsp;&nbsp; int add=a+b;<br>&nbsp;&nbsp;&nbsp; if (add&lt;0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.warn("两数之和小于零");<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return add;<br>&nbsp; }<br>}<br></font>＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃<br>二、配置Log4j<br>我们可以通过自定义定义配置文件来对日志的输出进行动态的控制。<br>Log4j支持两种配置文件格式，一种是XML格式的文件，一种是Java特性文件（键=值）。<br>可以用以下方式来载入配置文件:<br>&nbsp;1、载入使用Java 键—值对的属性文件编写的配置文件。<br>&nbsp;PropertyConfigurator.configure ( String configFilename) <br>&nbsp;2、载入XML形式的配置文件<br>&nbsp;DOMConfigurator.configure ( String filename )。</p>
<p>看一个简单的java属性配置文件testLog4j.properties：<br>＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃<br><font color=#0033cc>#指定根Logger，及日志输出级别，大于等于该级别的日志将被输出（ DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL ） 设为OFF可以关闭日志<br>log4j.rootLogger=DEBUG, A1,A2<br>#指定log输出目的,这里设为输出日志到指定目录的文件my.log中<br>log4j.appender.A1=org.apache.log4j.FileAppender<br>log4j.appender.A1.File=d:\\study\\my.log<br>#指定日志信息的格式<br>log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br>log4j.appender.A1.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n</font></p>
<p><font color=#0033cc>#把A2输出到控制台<br>log4j.appender.A2=org.apache.log4j.ConsoleAppender<br>log4j.appender.A2.layout=org.apache.log4j.SimpleLayout </font></p>
<p><font color=#0033cc>#还可以单独指定输出某个包的日志级别<br>#log4j.logger.com.study.HelloLog4j=INFO</font><br>＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃＃</p>
<p>1、配置根Logger，其语法为：<br>log4j.rootLogger = [ level ] , appenderName, appenderName2<br>level：日志的级别，指定这条日志信息的重要性。分为ALL &lt; DEBUG &lt; INFO &lt; WARN &lt;ERROR &lt; FATAL &lt; OFF<br>一般常用的为 DEBUG ， INFO ，WARN ，ERROR四种，分别对应Logger类的四种方法<br>&nbsp;debug(Object message ) ;<br>&nbsp;info(Object message ) ;<br>&nbsp;warn(Object message ) ;<br>&nbsp;error(Object message ) ;<br>如果设置级别为INFO，则优先级大于等于INFO级别（如：INFO、WARN、ERROR）的日志信息将可以被输出,小于该级别的如：DEBUG将不会被输出<br>appenderName :就是指定日志信息输出目的地，比如（打印到控制台，输出到文件等）。同一条日志信息可以配置多个输出目的地。</p>
<p>2、配置log输出目的地<br>&nbsp;Log4j提供以下几种：<br>&nbsp;org.apache.log4j.ConsoleAppender（控制台）<br>&nbsp;org.apache.log4j.FileAppender（文件）<br>&nbsp;org.apache.log4j.DailyRollingFileAppender（每天产生一个日志文件）<br>&nbsp;org.apache.log4j.RollingFileAppender（文件大小到达指定尺寸的时候产生一个新的文件）<br>&nbsp;org.apache.log4j.WriterAppender（将日志信息以流格式发送到任意指定的地方）<br>3、log信息的格式<br>&nbsp;org.apache.log4j.HTMLLayout（HTML表格形式）<br>&nbsp;org.apache.log4j.SimpleLayout（简单格式的日志，只包括日志信息的级别和指定的信息字符串 ，如:DEBUG - Hello）<br>&nbsp;org.apache.log4j.TTCCLayout（日志的格式包括日志产生的时间、线程、类别等等信息）<br>&nbsp;org.apache.log4j.PatternLayout（灵活地自定义日志格式）</p>
<p>当使用org.apache.log4j.PatternLayout来自定义信息格式时，可以使用<br>log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p -%m%n 来格式化信息<br>%c&nbsp;&nbsp;&nbsp; 输出所属类的全名，可写为 %c{Num} ,Num类名输出的范围&nbsp; 如："com.sun.aaa.classB", %C{2}将使日志输出输出范围为：aaa.classB<br>%d&nbsp;&nbsp;&nbsp; 输出日志时间其格式为 可指定格式 如 %d{HH:mm:ss}等<br>%l&nbsp;&nbsp;&nbsp; 输出日志事件发生位置，包括类目名、发生线程，在代码中的行数<br>%n&nbsp;&nbsp;&nbsp; 换行符<br>%m&nbsp;&nbsp;&nbsp; 输出代码指定信息，如info(&#8220;message&#8221;),输出message<br>%p&nbsp;&nbsp;&nbsp; 输出日志的优先级，即 FATAL ,ERROR 等<br>%r&nbsp;&nbsp;&nbsp; 输出从启动到显示该条日志信息所耗费的时间（毫秒数）<br>%t&nbsp;&nbsp;&nbsp; 输出产生该日志事件的线程名<br>更详细参数信息可参看类org.apache.log4j.PatternLayout的API doc文档</p>
<p>关于性能：<br>加入日志总是会带来一些性能损耗，当然绝大多数情况下可以忽略不计。<br>1、当某个级别的日志被屏蔽输出时，比如，配置级别为INFO,那么程序中DEBUG级别的日志语句将被禁止输出<br>如：<br>&nbsp;logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));<br>以上语句中，虽然debug语句里的消息不会输出到日志里，但消息中字符串构造的操作依然会执行，当操作比较复杂时，有时会带来一些性能损耗，可以改成一下写法：<br>&nbsp;if(logger.isDebugEnabled() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));<br>&nbsp;&nbsp;&nbsp; }<br>则一旦DEBUG级别被禁止输出，则不会执行日志信息后面的字符串操作。<br>2、由于日志记录器Logger，支持命名的层次，所以在子层次向上查找继承自父层次的日志级别时，也可能会有一些性能损耗。</p>
<p>总之，Log4j的设计目标已经充份考虑到了速度优先。经过多次的改写，性能问题已经几乎基本完全不是问题，它是一个非常优秀的工具组件，使用它带来的好处，大大多于失去的那一点点性能损耗。完全可以大胆使用。</p>
<br>============================================<br>commons-logging和log4j结合：http://dev.csdn.net/develop/article/29/29531.shtm<br><br>
<p><font face=Arial>我在web-inf/classses目录下建了commons-logging.properties和log4j.properties,我建了两个appender,<br>commons-logging.properties内容:<br>org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger<br>log4j.properties内容:<br>log4j.rootLogger=debug, dest1,dest2</font></p>
<p><font face=Arial>log4j.appender.dest1=org.apache.log4j.ConsoleAppender<br>log4j.appender.dest1.layout=org.apache.log4j.PatternLayout<br>log4j.appender.dest1.layout.ConversionPattern=%d %-5p %-5c{3} %x -&gt; %m%n</font></p>
<font face=Arial></font>
<p><font face=Arial><br>log4j.appender.dest2=org.apache.log4j.RollingFileAppender<br>log4j.appender.dest2.File=c://bridge.log</font></p>
<font face=Arial></font>
<p><font face=Arial>log4j.appender.dest2.MaxFileSize=100KB<br># Keep one backup file<br>log4j.appender.dest2.MaxBackupIndex=3</font></p>
<font face=Arial></font>
<p><font face=Arial>log4j.appender.dest2.layout=org.apache.log4j.PatternLayout<br>log4j.appender.dest2.layout.ConversionPattern=%d [%t] %-5p %-5c{3}(%L) %x -&gt; %m%n</font></p>
<img src ="http://www.blogjava.net/hilor/aggbug/137546.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hilor/" target="_blank">hilor</a> 2007-08-17 14:54 <a href="http://www.blogjava.net/hilor/articles/137546.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse资源文件编辑工具</title><link>http://www.blogjava.net/hilor/articles/134636.html</link><dc:creator>hilor</dc:creator><author>hilor</author><pubDate>Mon, 06 Aug 2007 02:52:00 GMT</pubDate><guid>http://www.blogjava.net/hilor/articles/134636.html</guid><wfw:comment>http://www.blogjava.net/hilor/comments/134636.html</wfw:comment><comments>http://www.blogjava.net/hilor/articles/134636.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hilor/comments/commentRss/134636.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hilor/services/trackbacks/134636.html</trackback:ping><description><![CDATA[<p>介绍两个Eclipse插件,用来编缉资源文件的.<br>在Eclipse中只能编辑英文资源文件,要编辑中文资源文件,一般要用JDK中的native2ascii工具进行转换.这样的操作对于一个或两个资源文件还好,一但要操作的资源文件多了,这样就未免有些麻烦了.在Eclipse下有两个可以用来编辑中文资源文件的工具,JInto和Properties Editor,使用起来各有千秋.JINTO可以同时编辑多个资源文件,例如把APPLICATION_EN.Properties和APPLICATION_ZH_CN.Properties两个文件都用open with jinto打开,那么就可以看到两个文件在同一个编辑界面了.而Properties Editor主要用来编辑单个资源文件.&nbsp; 下载地址在下面,如果有问题可以留言.<br>JInto 0.8.0</p>
<p>　　主页 <a href="http://www.guh-software.de/jinto.html">http://www.guh-software.de/jinto.html</a></p>
<p>　　下载 <a href="http://www.guh-software.de/jinto/de.guhsoft.jinto_0.8.0.zip">http://www.guh-software.de/jinto/de.guhsoft.jinto_0.8.0.zip</a></p>
<p>　　文档 <a href="http://www.guh-software.de/jinto/JIntoGettingStarted.pdf">http://www.guh-software.de/jinto/JIntoGettingStarted.pdf</a> （英文）</p>
<p>&nbsp;</p>
<p>Properties Editor </p>
<p>　　主页 <a href="http://propedit.sourceforge.jp/index_en.html">http://propedit.sourceforge.jp/index_en.html</a></p>
<p>　　它提供了三个版本，单独运行的版本、Eclipse版本、JBuilder版本，这里只看看Eclipse3下的版本。</p>
<p>　　PropertiesEditor_EclipsePlugin_for_3.0 V4.4.0 </p>
<p>安装方法<br>Please choose from the screen of Eclipse with "Help" -&gt;"Software Updates" -&gt; "Update Manager". An ~Update Manager~ opens.</p>
<p><br>In the "Feature Updates" view at the lower left of an ~Update Manager~, please carry out the right click of the "Sites to Visit", and create a site bookmark by "New" -&gt; "Site Bookmark...".<br>- The bookmark to create should input the following "URL" and should push an "Finish" button.<br>Name: Arbitrary input<br>URL : <a href="http://propedit.sourceforge.jp/eclipse/updates/">http://propedit.sourceforge.jp/eclipse/updates/</a><br>Bookmark type: Eclipse update site</p>
<p><br>If a site bookmark is created, the bookmark created at the bottom of "Feature Updates" will appear.<br>A click of "jp.gr.java_conf.ussiy.app.propedit.eclipse.feature.PropertiesEditorFeature x.x.x" displays a preview on a right window. Since the button "Install Now" is in around the lower right, please click.</p>
<p><br>Since an installation wizard starts, please click a "Next" button rapidly.</p>
<p><br>"You will need to restart the workbench for the changes to take effect. Would you like to restart now?" is displayed. Please reboot Eclipse according to a dialog.<br></p>
<img src ="http://www.blogjava.net/hilor/aggbug/134636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hilor/" target="_blank">hilor</a> 2007-08-06 10:52 <a href="http://www.blogjava.net/hilor/articles/134636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse插件安装方法</title><link>http://www.blogjava.net/hilor/articles/134623.html</link><dc:creator>hilor</dc:creator><author>hilor</author><pubDate>Mon, 06 Aug 2007 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/hilor/articles/134623.html</guid><wfw:comment>http://www.blogjava.net/hilor/comments/134623.html</wfw:comment><comments>http://www.blogjava.net/hilor/articles/134623.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hilor/comments/commentRss/134623.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hilor/services/trackbacks/134623.html</trackback:ping><description><![CDATA[1:使用links方式安装Eclipse插件 <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近在学习eclispe，以前安装升级包都是直接解压或者安装，如果安装多了经常出现很多问题。所以&#8230;&#8230; eclipse插件都是安装在plugins目录下。不过这样一来，当安装了许多插件之后，eclipse变的很大，最主要的是不便于更新和管理众多插件。用links方式安装eclipse插件，可以解决这个问题。 当前配置XP SP1，eclipse3.0.1 现在假设我的eclipse安装目录是e:\eclipse，待安装插件目录是e:\plug-in ，我将要安装LanguagePackFeature（语言包）、emf-sdo-xsd-SDK、GEF-SDK、Lomboz这四个插件。 先把这四个插件程序全部放在e:\plug-in目录里，分别解压。如Lomboz3.0.1.zip解压成Lomboz3.0.1目录，这个目录包含一个plugins目录，要先在Lomboz3.0.1目录中新建一个子目录eclipse，然后把plugins目录移动到刚建立的eclipse目录中，即目录结构要是这样的：e:\plug-in\Lomboz3.0.1\eclipse\plugins Eclipse 将会到指定的目录下去查找 eclipse\features 目录和eclipse\plugins 目录，看是否有合法的功能部件和（或）插件。也就是说，目标目录必须包含一个 \eclipse 目录。如果找到，附加的功能部件和插件在运行期配置是将是可用的，如果链接文件是在工作区创建之后添加的，附加的功能部件和插件会作为新的配置变更来处理。 其它压缩文件解压后若已经包含eclipse\plugins目录，则不需要建立eclipse目录。 然后在 eclipse安装目录e:\eclipse目录中建立一个子目录links，在links目录中建立一个link文件，比如 LanguagePackFeature.link，改文件内容为 path=e:/plug-in/LanguagePackFeature 即这个link文件要对应一个刚解压后的插件目录。说明：　1. 插件可以分别安装在多个自定义的目录中。　2. 一个自定义目录可以安装多个插件。　3. link文件的文件名及扩展名可以取任意名称，比如ddd.txt，myplugin都可以。　4. link文件中path=插件目录的path路径分隔要用\\或是/ 　5. 在links目录也可以有多个link文件，每个link文件中的path参数都将生效。　6. 插件目录可以使用相对路径。 7. 可以在links目录中建立一个子目录，转移暂时不用的插件到此子目录中，加快eclipse启动。 8. 如果安装后看不到插件，把eclipse 目录下的configuration目录删除，重启即可.<br><br>2: 直接安装<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;直接将下载的插件复制到Eclipse安装目录下的plugins文件夹内即可.<font size=2>比如安装一个weblogic的插件,下载解压后得到一个目录：【com.bea.eclipse.weblogic_1.1.1】，我就将这个目录直接放到%ECLIPSE_HOME%\plugins目录下，重新启动eclipse之后就看到Run-&gt;&#8220;Start Weblogic&#8221;的菜单。安装之后，weblogic插件的全路径为：%ECLIPSE_HOME%\plugins\com.bea.eclipse.weblogic_1.1.1].<br></font>
<img src ="http://www.blogjava.net/hilor/aggbug/134623.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hilor/" target="_blank">hilor</a> 2007-08-06 10:36 <a href="http://www.blogjava.net/hilor/articles/134623.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 启动运行速度调优</title><link>http://www.blogjava.net/hilor/articles/134612.html</link><dc:creator>hilor</dc:creator><author>hilor</author><pubDate>Mon, 06 Aug 2007 02:24:00 GMT</pubDate><guid>http://www.blogjava.net/hilor/articles/134612.html</guid><wfw:comment>http://www.blogjava.net/hilor/comments/134612.html</wfw:comment><comments>http://www.blogjava.net/hilor/articles/134612.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hilor/comments/commentRss/134612.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hilor/services/trackbacks/134612.html</trackback:ping><description><![CDATA[<div class=postTitle>Eclipse 启动运行速度调优</div>
<p><br></p>
<p>提高 JAVA IDE 的性能的JVM开关<br><br>我的本本是IBMR60 内存1G，eclipse 3.2.1 + myeclipse 5.5.1 速度还不错。</p>
<p>运行参数如下：<br>eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M</p>
<p>－－－－－－－－－－－－－－</p>
<p>JVM 提供了各种用于调整内存分配和垃圾回收行为的标准开关和非标准开关。其中一些设置可以提高 JAVA IDE 的性能。<br>注意，由于 -X （尤其是 -XX JVM）开关通常是 JVM 或 JVM 供应商特定的，本部分介绍的开关可用于 Sun Microsystems J2SE 1.4.2。</p>
<p>以下设置在大多数系统上将产生比工厂更好的设置性能。<br>-vmargs - 表示将后面的所有参数直接传递到所指示的 Java VM。</p>
<p>-Xverify:none - 此开关关闭Java字节码验证，从而加快了类装入的速度，并使得在仅为验证目的而启动的过程中无需装入类。此开关缩短了启动时间，因此没有理由不使用它。</p>
<p>-Xms24m - 此设置指示 Java 虚拟机将其初始堆大小设置为 24 MB。通过指示 JVM 最初应分配给堆的内存数量，可以使 JVM 不必在 IDE 占用较多内存时增加堆大小。</p>
<p>-Xmx96m - 此设置指定 Java 虚拟机应对堆使用的最大内存数量。为此数量设置上限表示 Java 进程消耗的内存数量不得超过可用的物理内存数量。对于具有更多内存的系统可以增加此限制，96 MB 设置有助于确保 IDE 在内存量为 128MB 到 256MB 的系统上能够可靠地执行操作。注意：不要将该值设置为接近或大于系统的物理内存量，否则将在主要回收过程中导致频繁的交换操作。</p>
<p>-XX:PermSize=20m - 此 JVM 开关不仅功能更为强大，而且能够缩短启动时间。该设置用于调整内存"永久区域"（类保存在该区域中）的大小。因此我们向 JVM 提示它将需要的内存量。该设置消除了许多系统启动过程中的主要垃圾收集事件。SunONE Studio 或其它包含更多模块的 IDE 的用户可能希望将该数值设置得更高。<br>下面列出了其它一些可能对 ECLIPSE 在某些系统（不是所有系统）上的性能产生轻微或明显影响的 JVM 开关。尽管使用它们会产生一定的影响，但仍值得一试。</p>
<p>-XX:CompileThreshold=100 - 此开关将降低启动速度，原因是与不使用此开关相比，HotSpot 能够更快地将更多的方法编译为本地代码。其结果是提高了 IDE 运行时的性能，这是因为更多的 UI 代码将被编译而不是被解释。该值表示方法在被编译前必须被调用的次数。</p>
<p>-XX:+UseConcMarkSweepGC -XX:+UseParNewGC - 如果垃圾回收频繁中断，则请尝试使用这些开关。此开关导致 JVM 对主要垃圾回收事件（如果在多处理器工作站上运行，则也适用于次要回收事件）使用不同的算法，这些算法不会影响整个垃圾回收进程。注意：目前尚不确定此收集器是提高还是降低单处理器计算机的性能。</p>
<p>-XX:+UseParallelGC - 某些测试表明，至少在内存配置相当良好的单处理器系统中，使用此回收算法可以将次要垃圾回收的持续时间减半。注意，这是一个矛盾的问题，事实上此回收器主要适用于具有千兆字节堆的多处理器。尚无可用数据表明它对主要垃圾回收的影响。注意：此回收器与 -XX:+UseConcMarkSweepGC 是互斥的。</p>
<p>我的机器是512MB的内存<br>下面是我的eclipse启动参数：eclipse.exe -vmargs -Xverify:none -Xms64M -Xmx256M -XX:PermSize=20M&nbsp; -XX:+UseParallelGC</p>
<p>-----</p>
<p>By BeanSoft:<br>我的电脑是1G内存, 有一次内存不足了... MyEclipse 就推荐我使用一个启动参数, 现在我的启动参数是:</p>
<p><br>eclipse.exe -vmargs -Xverify:none -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -XX:+UseParallelGC</p>
MyEclipse 推荐的运行参数:
<img src ="http://www.blogjava.net/hilor/aggbug/134612.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hilor/" target="_blank">hilor</a> 2007-08-06 10:24 <a href="http://www.blogjava.net/hilor/articles/134612.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>