-
-
Save yangnk/2b36850ab7ef8232ada8fbf90d82d485 to your computer and use it in GitHub Desktop.
Java程序员常用工具集
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
http://www.blogjava.net/killme2008/archive/2012/04/17/374936.html | |
我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了。我想列下我能想到的一个Java程序员会用到的常用工具。 | |
一、编码工具 | |
1.IDE:Eclipse或者IDEA,熟悉尽可能多的快捷键,《Eclipse常见快捷键列表》 | |
2.插件: | |
(1) Findbugs,在release之前进行一次静态代码检查是必须的 | |
(2) Clover,关心你的单元测试覆盖率 | |
(3) Checkstyle 代码风格检查 | |
3.构建和部署工具:ant或者maven,现在主流都是maven了吧,使用nexus搭建maven私服,再加上持续集成jenkins。代码质量不用愁。 | |
4.版本管理工具: svn或者git | |
5.diff和patch | |
6.设置你的eclipse或者IDEA,如formatter,save actions以及code template等。代码风格,直接用google的也可以啊。《Google style guide》 | |
7.掌握一个文本编辑器,Emacs或者VIM,熟悉常用快捷键。这在你需要在线编辑代码,或者编写其他语言代码时候特别有用。《神器圣战》 | |
二、JDK相关 | |
1.jstat : 观察GC情况,如: | |
jstat -gcutil pid 2000 | |
2.jmap,查看heap情况,如查看存活对象列表: | |
jmap -histo:live pid |grep com.company |less | |
或者dump内存用来分析: | |
jmap -dump:file=test.bin pid | |
3.分析dump的堆文件,可以用jhat: | |
jhat test.bin | |
分析完成后可以用浏览器查看堆的情况。这个工具的分析结果还比较原始,你还可以用Eclipse MAT插件进行图形化分析,或者IBM的Heap Analyzer. | |
4.jvisualvm和jconsole: JVM自带的性能分析和监控工具,怎么用?请自己看文档。 | |
5.jstack:分析线程堆栈,如 | |
jstack pid > thread_dump | |
查看CPU最高的线程在干什么的方法结合top和jstack:http://www.iteye.com/topic/1114219 | |
6.更多JVM工具,参见官方文档:http://docs.oracle.com/javase/6/docs/technotes/tools/ | |
7.学习使用btrace分析java运行时问题。《Btrace使用简介》 | |
8.GC日志分析工具:GC viewer、GC-console或者自己挑吧。 | |
9.性能分析工具,除了自带的jvisualvm外,还可以用商业的jprofiler。 | |
10.JVM参数大全 | |
11.《JVM调优标准参数陷阱》,iteye神贴。 | |
三、Linux工具 | |
1.熟悉常用的shell命令, | |
2.设置ssh免登陆 | |
3.使用htop替换top。 | |
4.熟悉下strace,gdb甚至systemtap来分析问题。 | |
5.熟悉vmstat,iostat,sar等性能统计工具。 | |
5.自动化部署脚本,py-fabric或者自荐下我的clojure-control。 | |
四、其他 | |
1.掌握一门脚本语言,Python或者Ruby,高效解决一些需要quick and dirty的任务:比如读写文件、导入导出数据库、网页爬虫等。注意不是python.com,咔咔。 | |
2.使用Linux或者Mac os系统作为你的开发环境。 | |
3.升级你的“硬件工具”,双屏大屏显示器、SSD、8G内存甚至更多。 | |
4.你懂的:https://code.google.com/p/goagent/ | |
五、如何查找工具? | |
1.搜索引擎,google或者baidu,《搜索技巧》 | |
2.万能的stack overflow:http://stackoverflow.com/ | |
3.虚心问牛人。 | |
六、最重要的是⋯⋯ | |
一颗永不停止学习的心。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment