庄周梦蝶

生活、程序、未来
   :: 首页 ::  ::  :: 聚合  :: 管理

Java程序员常用工具集

Posted on 2012-04-17 17:05 dennis 阅读(18131) 评论(17)  编辑  收藏 所属分类: java工作随笔工具和命令

    我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了。我想列下我能想到的一个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 viewerGC-console或者自己挑吧。

9.性能分析工具,除了自带的jvisualvm外,还可以用商业的jprofiler

10.JVM参数大全

11.《JVM调优标准参数陷阱》,iteye神贴。

三、Linux工具

1.熟悉常用的shell命令,


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.虚心问牛人。

六、最重要的是⋯⋯

一颗永不停止学习的心。

评论

# re: Java程序员常用工具集  回复  更多评论   

2012-04-18 08:32 by rox
恩,这个整理的非常全面啊。
收藏,谢谢了!

# re: Java程序员常用工具集  回复  更多评论   

2012-04-18 11:45 by iamct
因为你这样的人存在,才让很多人少走一些弯路。谢

# re: Java程序员常用工具集  回复  更多评论   

2012-04-18 12:14 by 咖啡@可乐
牛叉!

# re: Java程序员常用工具集  回复  更多评论   

2012-04-18 19:05 by 李顺利
这里很全面啊,感觉java性能调优方面的工具,个人用的还是比较少的

# re: Java程序员常用工具集  回复  更多评论   

2012-04-18 20:53 by 秦焜
开始使用 vim

# re: Java程序员常用工具集  回复  更多评论   

2012-04-19 09:23 by tony.li.fly@gmail.com
谢谢你的整理,真的学习了。

# re: Java程序员常用工具集[未登录]  回复  更多评论   

2012-04-19 14:02 by Seven
谢谢
现在也正想学一门动态脚本
能讲解一下python 和 ruby的不同点么
推荐我一了解一下哪个 谢谢

# re: Java程序员常用工具集[未登录]  回复  更多评论   

2012-04-19 18:54 by zc
楼主是好人

# re: Java程序员常用工具集  回复  更多评论   

2012-04-19 22:13 by 何杨
谁敢说都会?

# re: Java程序员常用工具集  回复  更多评论   

2012-04-20 09:33 by 秦焜
另外 有人用ubuntu进行开发的嘛

# re: Java程序员常用工具集  回复  更多评论   

2012-04-20 13:37 by 不惑之年
对我这个新手,这个文章真太有帮助了。
有个问题想问,IDE工具是否NetBeans更好?

# re: Java程序员常用工具集  回复  更多评论   

2012-04-22 03:02 by 北京西服定制
好呀

# re: Java程序员常用工具集  回复  更多评论   

2012-04-22 22:55 by whiletrue
昨天你贴的地址,今天就上不了,唉
从另一个侧面来说,你已经是名人了

# re: Java程序员常用工具集[未登录]  回复  更多评论   

2012-05-23 10:00 by 本本
只有第六条,可惜不知道如何学习!

# re: Java程序员常用工具集  回复  更多评论   

2012-06-08 15:53 by cfyme
学习了

# re: Java程序员常用工具集[未登录]  回复  更多评论   

2012-06-17 22:06 by Vince
嚓……CheckStyle都有……我的老师RickGiles(叫我大一编程……今年刚退休)写的= =|||

# re: Java程序员常用工具集  回复  更多评论   

2015-11-08 21:52 by 大兵小将
总结的非常好,不论是对新手还是有一定工作经验的人都有帮助。非常感谢!

只有注册用户登录后才能发表评论。


网站导航: