MyEclipse优化全攻略
(0) 吐槽
Eclipse仅仅是个半成品有木有?什么都须要自己安装插件,新手非常难用有木有?
安装上插件以后了版本号兼容和各种问题烦死人有木有? 都怪碎片和版本号乱公布有木有?
IntelliJ IDEA是收费版有木有,对刚開始学习的人非常不友好有木有?字体和初始化设置,中文支持非常差有木有?
NetBeans刚刚在SUN手里做的比較好用就被收购了有木有?
Oracle做的东西都比較脑抽有木有?入门艰难,各种东西要付费支持有木有?
小伙伴们在使用MyEclipse时,非常耗内存有木有?
经常卡死有木有?事实上这都怪 MyEclipse默认配置做的不好有木有?
归根结底怪国外的开发人员太弱智, 所以提供给他们的工具就搞成这样有木有?
都怪国外的老板太傻有木有? 开发使用的机器/工作站配置都贼高有木有?
我觉得对于Java开发人员来说,最好用的开发环境是 MyEclipse
当然,非常多开发工具用熟练,用好了以后都非常强大,这是毋庸置疑的事实.
归根结底, 我们仅仅想找一款好用的IDE,提高学习和开发效率有木有?
这一切都看你的层次和你的需求,是耍酷、是效率,是面子,或者是其它。。。
MyEclipse 的官网被功夫网屏蔽了.要在国内下载,学习和研究,事实上仅仅须要百度一下,你就知道了。
安装这里就不讲了,反正他的使用不须要依赖JDK,当然,建议还是安装一下JDK啦。
如今什么年代了,Java8都出来了,肯定要安装JDK7嘛,当然,假设单位的开发环境是 JDK6,那就安JDK6也行。
顺带一句, MyEclipse分别仅仅须要大约39,69,159美元的价格,换算成人民币事实上也没多少,假设合适的话,忽悠你的老板买一套支持一下也好,对于公司这些都不是什么支出负担,最关键是能带来非常大的收益,开发效率的大幅度提升,并且不惹来纠纷或者心理负担。
至于购买多少个授权,请不要太死板。。。。。。。。
废话也不多说,MyEclipse的优化,或者其它编辑工具的优化,大致能够分为3个部分: 内存配置、载入项配置、以及默认编辑器配置:
(1) 内存优化
具体配置多少内存,请依据你的机器内存来设定,如今最少也应该有2GB物理内存吧,最普通的机器应该有4GB内存。个人感觉, 4GB内存仅仅开Myeclipse和一个数据库没有太大压力, 假设你有8GB物理内存,那基本上不用担心内存的事,虽然加大配置给 Myeclipse的内存。【切记: 安装MyEclipse最好使用64位版本号,由于32位版本号仅仅能使用1GB左右的堆内存】.
废话不多说,直接找到 myeclipse.ini 文件,依据你安装的位置决定,比如我的是: C:\DevTools\MyEclipse\MyEclipse 9\myeclipse.ini
将最大堆内存 Xmx 和 最大永久内存 MaxPermSize 按比例扩大,比如扩大2倍,4倍都行.
原始的配置信息大致例如以下:
......
-vmargs
-Xmx512m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=64m
怎样优化请查看下图:
图1 将内存设置增大
我的优化后的配置信息例如以下:
......
-vmargs
-Xmx2048m
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=128m
其它具体的内存优化选项,你能够不设置,也能够參考JVM内存优化,这须要你自己搜索啦,一般来说设置上面这两个參数就够了.
假设是32位版本号,启动报错,请将这些内存按比例缩小,比方768m什么的,总的控制住1.2GB以内吧,须要你自己试试。
你还能够增加JVM參数来跟踪查看GC日志:
比如,一个演示样例配置:
-vmargs
-Xms384m
-Xmn192m
-Xmx896m
-XX:PermSize=192m
-XX:MaxPermSize=384m
-XX:ReservedCodeCacheSize=128m -XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log
这仅仅对Oracle(SUN)的Hotspot 这个JVM生效,当中, -XX:+PrintGCTimeStamps 是打印GC的时间戳, -XX:+PrintGCDetails 是打印GC细节信息的开关。
-verbose:gc 指定日志级别为verbose,什么都打印。 -Xloggc:gc.log 是将日志文件输出到当前文件夹下的gc.log 文件里.当然,你也能够输出到其它路径,请參考该文件上方的其它路径的写法,使用左斜线(/)分隔各级路径.
一个垃圾回收日志摘取部分例如以下:(含部分分析,可能分析不太正确,留待后期完好)
(每次MyEclipse启动都会清空原来的日志文件)
1.300: [GC 1.300: [DefNew: 157312K->17027K(176960K), 0.0415563 secs]
157312K->17027K(373568K), 0.0415937 secs]
[Times: user=0.05 sys=0.00, real=0.04 secs]
--
1.300 这个应该是距离启动JVM的时间1.3秒?
[
GC, 表示新生代的回收
[
DefNew, 使用的是DefNew回收器
157312K->17027K 回收后新生代从157312K变为17027K
(176960K) 新生代的总容量
0.0415563 secs 新生代回收耗时 0.041秒
]
157312K->17027K 整个堆内存占用从157312K变为17027K
(373568K) 表示堆的总容量
0.0415937 secs 堆回收总耗时
]
[
user=0.05 用户态耗时
sys=0.00 系统态耗时
real=0.04 实际耗时
]
-- 19.632: [Full GC (System) 19.632:
[Tenured: 35589K->61913K(196608K), 0.2171500 secs]
160492K->61913K(373568K),
[Perm : 51579K->51579K(196608K)],
0.2171970 secs]
[Times: user=0.20 sys=0.00, real=0.22 secs] --
19.632 这个应该是距离启动JVM的时间19.632秒?
[
Full GC (System) 系统全量GC
[
Tenured
35589K->61913K 从35M变为61M(约)
(196608K) 总的为196M
0.2171500 secs 耗时
]
160492K->61913K 从160M->61M
(373568K) 总的373M
[
Perm : 持久代 PermGen回收(如 static 及挂钩的东西之类,在HotSpot中,方法区[JVM规范]就是持久代[GC中的分代实现])
51579K->51579K 从51M变为51M(持久代一般就这样)
(196608K) 总大小196M
],
0.2171970 secs 持久带回收耗时0.217秒
]
-- 118.897: [GC 118.897: [DefNew: 157312K->10954K(176960K), 0.0201250 secs]
234464K->88107K(373568K), 0.0201640 secs]
[Times: user=0.03 sys=0.00, real=0.02 secs] 1377.055: [Full GC (System) 1377.055:
[Tenured: 67561K->67561K(196608K), 0.2481550 secs]
67742K->67561K(373568K),
[Perm : 77335K->77335K(196608K)], 0.2482043 secs] XXXXX这里有一堆乱码,用UltraEdit看全是00; 0x00 0x00 0x00 0x00 0x00 0x00
[Times: user=0.02 sys=0.00, real=0.02 secs]
Heap
def new generation total 176960K, used 91128K [0x0a770000, 0x16770000, 0x16770000)
eden space 157312K, 52% used [0x0a770000, 0x0f829bb0, 0x14110000)
from space 19648K, 43% used [0x14110000, 0x149547c0, 0x15440000)
to space 19648K, 0% used [0x15440000, 0x15440000, 0x16770000)
tenured generation total 196608K, used 94153K [0x16770000, 0x22770000, 0x42770000)
the space 196608K, 47% used [0x16770000, 0x1c362698, 0x1c362800, 0x22770000)
compacting perm gen total 196608K, used 93292K [0x42770000, 0x4e770000, 0x5a770000)
the space 196608K, 47% used [0x42770000, 0x4828b288, 0x4828b400, 0x4e770000)
No shared spaces configured.
在一堆0x00的后面,是堆内存的使用情况描写叙述信息,从中能够看到:
def new generation 默认的new生成的总空间大约为176MB,使用了91MB,【括号内应该是 事实上内存地址,已用到的内存地址,结束内存地址】
eden space 年轻代大约152MB,已使用52%【将3个地址使用16进制减法计算得出可知,大约用了80M, 空暇72MB】
from 空间大约20MB,使用了43%.
to 空间也是20MB左右,使用了0%
tenured generation 大约192MB,使用了92MB左右,占47%,假设这个区域满了,那么就会引发全量GC,Full GC,具体信息请參考:
compacting perm gen 大约192MB,使用47%,也是92MB左右 具体信息请參考: JVM内存管理:深入垃圾收集器与内存分配策略
我们发现,内存垃圾回收,不仅须要释放旧的空间,还须要对内存碎片进行整理。
DefNewGeneration是default new generation
ParNewGeneration是parallel new generation
分析GC日志能够參考: http://iamzhongyong.iteye.com/blog/1989829
或者參考 并发编程网翻译的CMS的分析
(2). 载入项配置
2.1 关闭多余的View,小窗体
打开MyEclipse以后,默认会打开 MyEclipse Java Enterprise 这个可视界面,我们须要的也是这个。可是有一些我们用不到的东西,比方图片编辑器、内置浏览器什么的,将他们关闭的就可以,由于非常渣渣,非常难用,非常耗资源。
例如以下图所看到的:
图2.1 关闭掉没用的View
2.2 改动启动项
MyEclipse启动时会默认启动非常多组件,可能这是懒人之福,但对于我们须要高效开发环境的人来说就是灾难了.
选择菜单 Window --> Preferences; 打开首选项设置对话框,在对话框最左上角,搜索框中输入 start, 定位到 General --> Startup and Shutdown;
然后把右边的下拉框中,全部你不认识的选项的勾都去掉,由于基本上都没用。仅仅留下随便几个就可以,然后点击 Apply 应用, 就比方我的,例如以下图所看到的,全在这里了:
图2.2 去除多余的启动项
(3) 设置各种类型文件的默认编辑器
选择菜单 Window --> Preferences; 打开首选项设置对话框,在对话框最左上角,搜索框中输入 file, 定位到 General --> Editors --> File Associations; 在右边选择相应的文件类型(后缀), 然后在下方选择默认的编辑器,请记住: 最好将带 Visual 字样的默认编辑器去掉,由于真的不须要可视化编辑,或者说,不须要MyEclipse的可视化编辑。
经常使用的文件类型后缀, 包含 *.htm【设置默觉得MyEclipse HTML Editor】、 *.html 【设置默觉得MyEclipse HTML Editor】、*.js 【设置默觉得 Text Editor】、 *.jsp 【设置默觉得MyEclipse JSP Editor】这四种, 大致例如以下图所看到的:
图3 设置各类型文件的默认编辑器
(3.1) 设置下工作空间的默认编码:
选择菜单 Window --> Preferences; 打开首选项设置对话框,定位到 General --> Workspace; 将 Text File Encoding 改动为 UTF-8; 应用,保存就可以。 例如以下图所看到的:
图3.1 设置文件的默认编码
好了,基本上须要的优化就已经结束,更具体的小项优化,你有时间能够自己搜索。
重新启动MyEclipse试试吧!!!
(3.2) 附加一点,怎样设置默认语言
如今搜狗、QQ输入法都非常见,安装好后对开发人员非常不友好,默认可能就是中文输入法。有时候,QQ拼音输入法最坑,直接把任务栏的语言栏图标给藏起来了。
具体的设置方法例如以下:
进入 開始菜单 --> 控制面板 --> 大图标 --> 区域和语言 --> 键盘和语言 --> 更改键盘 --> 常规。
在上方是默认输入语言、选择为中文美式键盘就可以。 假设没有,请在下方将其它的输入语言从列表中删除掉(仅仅是从列表删除,系统中还存在.), 然后点增加,找到中国的部分,勾选上就可以(这点图中没有体现,请灵活运用你的大脑.).
示意图例如以下所看到的:
图3.2 设置默认输入法为中文美式键盘(即英文)
我发觉非常多Java新手都不怎么设置开发环境, 可能是不知道还能够这么优化吧,希望你能工作和学习愉快!
假设你觉得我写得好,或者不好,或者有问题,欢迎增加 脚本娃娃社区的 QQ群,【
83163037】一起交流; 口令: EXT;点击链接增加群【脚本娃娃-桃花岛】:
时间: 2014年7月22日
作者: 铁锚
原文链接: MyEclipse优化全攻略
MyEclipse优化全攻略的更多相关文章
- 【ZZ】MySQL 索引优化全攻略 | 菜鸟教程
MySQL 索引优化全攻略 http://www.runoob.com/w3cnote/mysql-index.html
- MySQL 索引优化全攻略
所谓索引就是为特定的mysql字段进行一些特定的算法排序,比如二叉树的算法和哈希算法,哈希算法是通过建立特征值,然后根据特征值来快速查找.而用的最多,并且是mysql默认的就是二叉树算法 BTREE, ...
- Web前端性能优化全攻略
网页制作poluoluo文章简介:Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多网站无情忽视的技术. Web 前端性能优化是个大话题,是个值得运维人员持续跟踪的话题,是被很多 ...
- Web前端性能优化全攻略[转载]
1. 尽量减少 HTTP 请求 (Make Fewer HTTP Requests) 作为第一条,可能也是最重要的一条.根据 Yahoo! 研究团队的数据分析,有很大一部分用户访问会因为这一条而取得最 ...
- drupal优化全攻略
下面是drupal优化的一些经验.分四大部分来讲. 第一部分:Drupal系统本身的设置来达到优化 第二部分:针对php代码进行的优化 第三部分:针对MYSQL数据库进行的优化 第四部分:针对网站架构 ...
- 转 【推荐】 RAC 性能优化全攻略与经典案例剖析
https://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650277038&idx=1&sn=05cce57a1d253c ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- 从小工到专家 ——读《Java程序员职场全攻略》有感
从小工到专家 ——读<Java程序员职场全攻略>有感 <Java程序员职场全攻略>是以故事的形式,向读者介绍Java程序员的职场经验.作者牛开复在北京从事软件开发,已经是一 ...
- Moon.Orm3.8技术全攻略
Moon.ORM技术全攻略 一.绪论 本文主要是针对Moon.ORM的技术的讨论及其使用使用指导.如有其它疑问,请留言.本文主要针对Moon.ORM3.9版本,同时将会对4.0做一个技术预览.本文从 ...
随机推荐
- FTP上传文件时 System.Net.WebException: 基础连接已经关闭: 接收时发生错误。
在c#中使用HttpWebRequest时,频繁请求一个网址时,过段时间就会出现“基础连接已经关闭: 接收时发生意外错误”的错误提示.将webRequest的属性设置成下面的,经测试可以解决.Syst ...
- asp.net模板控件示例
原文:asp.net模板控件示例 模板控件允许将控件数据与其表示形式相分离,模板化控件不提供用户界面. 编写它则是为了实现一个命名容器以及包含属性和方法可由宿主页访问的类,MSDN是这样解释的. 下面 ...
- cocos2dX 它CCScene创建原则和切换模式
今天, 让我们来看看现场CCScene创建原则和切换模式, 首先, 个什么样子: 我们先来看看效果: 啥也没有: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZX ...
- gdb经常使用的命令
在调试程序的时候,gdb是一柄利器,恰当的使用gdb能够解决掉程序的很多bug. gdb并不检查语法错误.那是gcc或者g++的事情,gdb干的是调试的事情. 说明: (1)gdb 程序名 [core ...
- 如何从Terminal Command Line编译并运行Scope
Ubuntu SDK我们大部分的开发者是非常有效的.它甚至可以帮助我们进行在线调试.在这篇文章中,我们介绍了如何使用command line编译和执行我们scope. 1)创建一个主Scope 我们能 ...
- grep之字符串搜索算法Boyer-Moore由浅入深(比KMP快3-5倍)(转)
这篇长文历时近两天终于完成了,前两天帮网站翻译一篇文章“为什么GNU grep如此之快?”,里面提及到grep速度快的一个重要原因是使用了Boyer-Moore算法作为字符串搜索算法,兴趣之下就想了解 ...
- OpenWrt wireless通过配置uci生效
[转载请注明出处:钱正柱 http://blog.csdn.net/qianguozheng/article/details/24412673] 配置无线 vi /etc/config/wireles ...
- Centos 7 学习加入用户
正在使用 Centos 许多人前使用Ubuntu,因此, useradd 和 adduser 两个命令歧义,于Ubuntu这是在系统上两个命令,于Centos在这同一个命令,adduser 在一个链接 ...
- Team Foundation Server 2015使用教程--权限为读取器的团队成员连接tfs及checkin操作
- mapxtreme C# 完美车辆动态轨迹展示
演示程序请在 http://pan.baidu.com/s/1jG9gKMM#dir/path=%2F%E4%BA%A7%E5%93%81%2FDemos 找 Trajectory.rar 轨迹回放功 ...