<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java堂 &#187; myeclipse</title>
	<atom:link href="http://www.javatang.com/archives/tag/myeclipse/feed" rel="self" type="application/rss+xml" />
	<link>http://www.javatang.com</link>
	<description>Java Tang</description>
	<lastBuildDate>Thu, 08 Dec 2011 08:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>MyEcliplse性能优化</title>
		<link>http://www.javatang.com/archives/2007/12/06/3154252.html</link>
		<comments>http://www.javatang.com/archives/2007/12/06/3154252.html#comments</comments>
		<pubDate>Thu, 06 Dec 2007 11:31:54 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[myeclipse]]></category>

		<guid isPermaLink="false">http://www.javatang.com/archives/2007/12/06/3154252.html</guid>
		<description><![CDATA[MyEclipse功能非常的强大，现在基本是使用Eclipse开发JavaEE的必备插件了。但是巨大的MyEclipse也导致Eclipse启动的速度加慢，另外开发的过程中有时候容易造成界面“假死”的状况。 今天介绍几个优化MyEclipse的方法 1. 加大JVM的非堆内存，具体的做法和原因参考我前一篇文章《由MyEclipse内存不足谈谈JVM内存》 2. 去除不需要加载的模块 一个系统20%的功能往往能够满足80%的需求，MyEclipse也不例外，我们在大多数时候只需要20%的系统功能，所以可以将一些不使用的模块禁止加载启动。通过Windows &#8211; Preferences打开配置窗口，依次选择左侧的General &#8211; Startup and Shutdown，这个时候在右侧就显示出了Eclipse启动时加载的模块，可以根据自己的实际情况去除一些模块。 3. 取消MyEclipse在启动时自动验证项目配置文件 默认情况下MyEclipse在启动的时候会自动验证每个项目的配置文件，这是一个非常耗时的过程，可以在Preferences窗口依次选择MyEclipse &#8211; Validation，然后在右侧的Validator列表中只保留 Manual 项就可以了。如果需要验证的时候只需要选中文件，然后右键选择 MyEclipse &#8211; Run Validation就可以了。 通过上面的几个步骤可以有效优化MyEclipse的启动速度和运行效率，如果你还有新的方法可以回复 参考资料： 让Eclipse快速启动的方法 Related Posts:PHP中出现“Unable to load dynamic library”问题的解决方法由MyEclipse内存不足谈谈JVM内存查找接口实现类的Eclipse插件PHP框架大展台DWR文档之范例]]></description>
			<content:encoded><![CDATA[<p>MyEclipse功能非常的强大，现在基本是使用Eclipse开发JavaEE的必备插件了。但是巨大的MyEclipse也导致Eclipse启动的速度加慢，另外开发的过程中有时候容易造成界面“假死”的状况。</p>
<p>今天介绍几个优化MyEclipse的方法</p>
<p>1. 加大JVM的非堆内存，具体的做法和原因参考我前一篇文章《<a href="http://www.javatang.com/archives/2007/12/03/1653250.html">由MyEclipse内存不足谈谈JVM内存》</a></p>
<p>2. 去除不需要加载的模块<br />
一个系统20%的功能往往能够满足80%的需求，MyEclipse也不例外，我们在大多数时候只需要20%的系统功能，所以可以将一些不使用的模块禁止加载启动。通过Windows &#8211; Preferences打开配置窗口，依次选择左侧的General &#8211; Startup and Shutdown，这个时候在右侧就显示出了Eclipse启动时加载的模块，可以根据自己的实际情况去除一些模块。</p>
<p>3. 取消MyEclipse在启动时自动验证项目配置文件<br />
默认情况下MyEclipse在启动的时候会自动验证每个项目的配置文件，这是一个非常耗时的过程，可以在Preferences窗口依次选择MyEclipse &#8211; Validation，然后在右侧的Validator列表中只保留 Manual 项就可以了。如果需要验证的时候只需要选中文件，然后右键选择 MyEclipse &#8211; Run Validation就可以了。</p>
<p>通过上面的几个步骤可以有效优化MyEclipse的启动速度和运行效率，如果你还有新的方法可以回复 <img src='http://www.javatang.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>参考资料：<br />
<a href="http://marky.javaeye.com/blog/98363" target="_blank">让Eclipse快速启动的方法</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2007/07/04/1548182.html" rel="bookmark" class="crp_title">PHP中出现“Unable to load dynamic library”问题的解决方法</a></li><li><a href="http://www.javatang.com/archives/2007/12/03/1653250.html" rel="bookmark" class="crp_title">由MyEclipse内存不足谈谈JVM内存</a></li><li><a href="http://www.javatang.com/archives/2007/07/04/4045184.html" rel="bookmark" class="crp_title">查找接口实现类的Eclipse插件</a></li><li><a href="http://www.javatang.com/archives/2007/03/20/0534141.html" rel="bookmark" class="crp_title">PHP框架大展台</a></li><li><a href="http://www.javatang.com/archives/2006/10/23/153481.html" rel="bookmark" class="crp_title">DWR文档之范例</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/12/06/3154252.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>由MyEclipse内存不足谈谈JVM内存</title>
		<link>http://www.javatang.com/archives/2007/12/03/1653250.html</link>
		<comments>http://www.javatang.com/archives/2007/12/03/1653250.html#comments</comments>
		<pubDate>Mon, 03 Dec 2007 15:16:53 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[JavaPlateform]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[myeclipse]]></category>
		<category><![CDATA[堆]]></category>

		<guid isPermaLink="false">http://www.javatang.com/archives/2007/12/03/1653250.html</guid>
		<description><![CDATA[如果没有进行设置的话，在使用MyEclipse的经常出现如下图所示内存不足的提示。 提示中说的很明白：“MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains.”意思是说当前只有小于5%的非堆内存是空闲的。所以我们只要将这个值设置大一些就可以了。 提示中给出了设置的参数： -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题： 1. 各个参数的含义什么？ 2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动，而有些机器无法启动？ 3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置？ 下面我们一一进行回答 1. 各个参数的含义什么？ 参数中-vmargs的意思是设置JVM参数，所以后面的其实都是JVM的参数了，我们首先了解一下JVM内存管理的机制，然后再解释每个参数代表的含义。 堆(Heap)和非堆(Non-heap)内存 按照官方的说法：“Java 虚拟机具有一个堆，堆是运行时数据区域，所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存：堆和非堆。简单来说堆就是Java代码可及的内存，是留给开发人员使用的；非堆就是JVM留给自己用的，所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。 堆内存分配 JVM初始分配的内存由-Xms指定，默认是物理内存的1/64；JVM最大分配的内存由-Xmx指定，默认是物理内存的1/4。默认空余堆内存小于40%时，JVM就会增大堆直到-Xmx的最大限制；空余堆内存大于70%时，JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。 非堆内存分配 JVM使用-XX:PermSize设置非堆内存初始值，默认是物理内存的1/64；由XX:MaxPermSize设置最大非堆内存的大小，默认是物理内存的1/4。 JVM内存限制(最大值) 首先JVM内存限制于实际的最大物理内存(废话！呵呵)，假设物理内存无限大的话，JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制，这个限制一般是2GB-3GB（一般来说Windows系统下为1.5G-2G，Linux系统下为2G-3G），而64bit以上的处理器就不会有限制了。 2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动，而有些机器无法启动？ 通过上面对JVM内存管理的介绍我们已经了解到JVM内存包含两种：堆内存和非堆内存，另外JVM最大内存首先取决于实际的物理内存和操作系统。所以说设置VM参数导致程序无法启动主要有以下几种原因： 1) 参数中-Xms的值大于-Xmx，或者-XX:PermSize的值大于-XX:MaxPermSize； 2) -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制，比如当前操作系统最大内存限制，或者实际的物理内存等等。说到实际物理内存这里需要说明一点的是，如果你的内存是1024MB，但实际系统中用到的并不可能是1024MB，因为有一部分被硬件占用了。 [...]]]></description>
			<content:encoded><![CDATA[<p>如果没有进行设置的话，在使用MyEclipse的经常出现如下图所示内存不足的提示。<br />
<img src='http://www.javatang.com/wp-content/myeclipse.png' alt='myeclipse.png' /><br />
提示中说的很明白：“MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains.”意思是说当前只有小于5%的非堆内存是空闲的。所以我们只要将这个值设置大一些就可以了。</p>
<p>提示中给出了设置的参数：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M</li></ol></div>
<p>这里有几个问题：<br />
1. 各个参数的含义什么？<br />
2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动，而有些机器无法启动？<br />
3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置？</p>
<p>下面我们一一进行回答</p>
<p><strong>1. 各个参数的含义什么？</strong></p>
<p>参数中-vmargs的意思是设置JVM参数，所以后面的其实都是JVM的参数了，我们首先了解一下JVM内存管理的机制，然后再解释每个参数代表的含义。</p>
<blockquote>
<li><strong>堆(Heap)和非堆(Non-heap)内存</strong><br />
按照官方的说法：“Java 虚拟机具有一个堆，堆是运行时数据区域，所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存：堆和非堆。简单来说堆就是Java代码可及的内存，是留给开发人员使用的；非堆就是JVM留给自己用的，所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。
</li>
<li><strong>堆内存分配</strong><br />
JVM初始分配的内存由-Xms指定，默认是物理内存的1/64；JVM最大分配的内存由-Xmx指定，默认是物理内存的1/4。默认空余堆内存小于40%时，JVM就会增大堆直到-Xmx的最大限制；空余堆内存大于70%时，JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。
</li>
<li><strong>非堆内存分配</strong><br />
JVM使用-XX:PermSize设置非堆内存初始值，默认是物理内存的1/64；由XX:MaxPermSize设置最大非堆内存的大小，默认是物理内存的1/4。
</li>
<li><strong>JVM内存限制(最大值)</strong><br />
首先JVM内存限制于实际的最大物理内存(废话！呵呵)，假设物理内存无限大的话，JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制，这个限制一般是2GB-3GB（一般来说Windows系统下为1.5G-2G，Linux系统下为2G-3G），而64bit以上的处理器就不会有限制了。
</li>
</blockquote>
<p><strong>2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动，而有些机器无法启动？</strong></p>
<p>通过上面对JVM内存管理的介绍我们已经了解到JVM内存包含两种：堆内存和非堆内存，另外JVM最大内存首先取决于实际的物理内存和操作系统。所以说设置VM参数导致程序无法启动主要有以下几种原因：</p>
<blockquote><p>
1) 参数中-Xms的值大于-Xmx，或者-XX:PermSize的值大于-XX:MaxPermSize；</p>
<p>2) -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制，比如当前操作系统最大内存限制，或者实际的物理内存等等。说到实际物理内存这里需要说明一点的是，如果你的内存是1024MB，但实际系统中用到的并不可能是1024MB，因为有一部分被硬件占用了。
</p></blockquote>
<p><strong>3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置？</strong></p>
<p>那为什么同样的参数在快捷方式或者命令行中有效而在eclipse.ini文件中是无效的呢？这是因为我们没有遵守eclipse.ini文件的设置规则：</p>
<blockquote><p>
参数形如“项 值”这种形式，中间有空格的需要换行书写，如果值中有空格的需要用双引号包括起来。比如我们使用-vm C:\Java\jre1.6.0\bin\javaw.exe参数设置虚拟机，在eclipse.ini文件中要写成这样：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">-vm</li>
<li>C:\Java\jre1.6.0\bin\javaw.exe</li></ol></div>
</blockquote>
<p>按照上面所说的，最后参数在eclipse.ini中可以写成这个样子：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">-vmargs</li>
<li>-Xms128M</li>
<li>-Xmx512M</li>
<li>-XX:PermSize=64M</li>
<li>-XX:MaxPermSize=128M</li></ol></div>
<p>实际运行的结果可以通过Eclipse中“Help”-“About Eclipse SDK”窗口里面的“Configuration Details”按钮进行查看。</p>
<p>另外需要说明的是，Eclipse压缩包中自带的eclipse.ini文件内容是这样的：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">-showsplash</li>
<li>org.eclipse.platform</li>
<li>--launcher.XXMaxPermSize</li>
<li>256m</li>
<li>-vmargs</li>
<li>-Xms40m</li>
<li>-Xmx256m</li></ol></div>
<p>其中&#8211;launcher.XXMaxPermSize（注意最前面是两个连接线）跟-XX:MaxPermSize参数的含义基本是一样的，我觉得唯一的区别就是前者是eclipse.exe启动的时候设置的参数，而后者是eclipse所使用的JVM中的参数。其实二者设置一个就可以了，所以这里可以把&#8211;launcher.XXMaxPermSize和下一行使用#注释掉。</p>
<p>参考资料：<br />
<a href="http://blog.csdn.net/calvinxiu/archive/2007/05/18/1614473.aspx" target="_blank">JDK5.0垃圾收集优化之&#8211;Don&#8217;t Pause</a><br />
<a href="http://www.javaeye.com/topic/38142?page=1" target="_blank">提问：如何超越JVM内存限制？</a><br />
<a href="http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/management/MemoryMXBean.html" target="_blank">MemoryMXBean (Java 2 Platform SE 5.0)</a><br />
<a href="http://hi.baidu.com/nickshen3/blog/item/83d89852ba1ee60d0cf3e30b.html" target="_blank">MyEclipse/Eclipse的内存优化与内存不足的解决办法</a><br />
<a href="http://www.matrix.org.cn/thread.shtml?forumId=25&#038;topicId=c14f5fc6-81c0-11db-babc-9753a314dd4b" target="_blank">eclipse.ini文件的问题</a><br />
<a href="http://zhidao.baidu.com/question/36893010.html?si=1" target="_blank">eclipse 为什么报错</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2007/10/30/2016233.html" rel="bookmark" class="crp_title">C++基础之字符串处理函数</a></li><li><a href="http://www.javatang.com/archives/2007/07/04/4045184.html" rel="bookmark" class="crp_title">查找接口实现类的Eclipse插件</a></li><li><a href="http://www.javatang.com/archives/2010/11/27/1657519.html" rel="bookmark" class="crp_title">Ubuntu下面安装Macbuntu及安装之后需要修改的几个问题</a></li><li><a href="http://www.javatang.com/archives/2007/06/08/5540166.html" rel="bookmark" class="crp_title">PHP常见问题及解答</a></li><li><a href="http://www.javatang.com/archives/2007/03/30/1025157.html" rel="bookmark" class="crp_title">Windows下安装zip包版本的MySQL</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2007/12/03/1653250.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MyEclipse配置要点</title>
		<link>http://www.javatang.com/archives/2006/03/24/293613.html</link>
		<comments>http://www.javatang.com/archives/2006/03/24/293613.html#comments</comments>
		<pubDate>Fri, 24 Mar 2006 04:29:36 +0000</pubDate>
		<dc:creator>Jet</dc:creator>
				<category><![CDATA[JavaPlateform]]></category>
		<category><![CDATA[myeclipse]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[第一次使用MyEclipse，主要感觉用他来生成Hibernate的POJO和Map都非常的方便。但是昨天配置的时候出现了一个非常奇怪的问题，就是我将原来使用Lomboz开发的Web项目移到MyEclipse项目中，但是却是无法正常运行。最后查阅了一些资料，原来需要单独设置MyEclipse的Application Server的JDK。1. 打开 “窗口”－“首选项”，选择 “MyEclipse” &#8211; “Application Server”. 笔者使用的是Tomcat5.5，所以选择Tomcat5，然后选择下面的JDK。 2. 默认的Tomcat JDK是Eclipse使用的，我们这里添加一个新的。选择右边的”Add…”按钮，JRE名称随意，比如MyEclipse_Used，JRE目录也就是JDK主目录，其他默认就可以，然后点击“确定”按钮就OK了。 参考资料 在eclipse + MyEclipse下配置建立J2EE工程 http://yefeng177.blogchina.com/1571653.html Related Posts:cmdHere小心翼翼地使用IISEclipse3.2.1中使用CDT经常CPU100%问题的解决方法使用策略封某个IP或IP段由MyEclipse内存不足谈谈JVM内存]]></description>
			<content:encoded><![CDATA[<p>第一次使用MyEclipse，主要感觉用他来生成Hibernate的POJO和Map都非常的方便。但是昨天配置的时候出现了一个非常奇怪的问题，就是我将原来使用Lomboz开发的Web项目移到MyEclipse项目中，但是却是无法正常运行。最后查阅了一些资料，原来需要单独设置MyEclipse的Application Server的JDK。1. 打开 “窗口”－“首选项”，选择 “MyEclipse” &#8211; “Application Server”. 笔者使用的是Tomcat5.5，所以选择Tomcat5，然后选择下面的JDK。</p>
<p>2. 默认的Tomcat JDK是Eclipse使用的，我们这里添加一个新的。选择右边的”Add…”按钮，JRE名称随意，比如MyEclipse_Used，JRE目录也就是JDK主目录，其他默认就可以，然后点击“确定”按钮就OK了。</p>
<p>参考资料<br />
在eclipse + MyEclipse下配置建立J2EE工程<br />
<a target="_blank" href="http://yefeng177.blogchina.com/1571653.html">http://yefeng177.blogchina.com/1571653.html</a></p>
<div id="crp_related"><h2>Related Posts:</h2><ul><li><a href="http://www.javatang.com/archives/2006/05/29/000437.html" rel="bookmark" class="crp_title">cmdHere</a></li><li><a href="http://www.javatang.com/archives/2007/10/05/5437207.html" rel="bookmark" class="crp_title">小心翼翼地使用IIS</a></li><li><a href="http://www.javatang.com/archives/2007/01/28/202192.html" rel="bookmark" class="crp_title">Eclipse3.2.1中使用CDT经常CPU100%问题的解决方法</a></li><li><a href="http://www.javatang.com/archives/2007/07/01/0846180.html" rel="bookmark" class="crp_title">使用策略封某个IP或IP段</a></li><li><a href="http://www.javatang.com/archives/2007/12/03/1653250.html" rel="bookmark" class="crp_title">由MyEclipse内存不足谈谈JVM内存</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.javatang.com/archives/2006/03/24/293613.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.javatang.com @ 2012-02-10 07:52:56 -->
