一、编码工具
1.IDE:
Eclipse
或者 IDEA
,熟悉尽可能多的快捷键,《
Eclipse常见快捷键列表
》
2.插件:
(1)
Findbugs
,在release之前进行一次静态代码检查是必须的
(2)
Clover ,关心你的单元测试覆盖率
(3)
Checkstyle
代码风格检查
3.构建和部署工具:
ant
或者 maven
,现在主流都是maven了吧, 使用nexus搭建maven私服
,再加上持续集成
jenkins
。代码质量不用愁。
5.
diff和patch
6.设置你的eclipse或者IDEA,如formatter,
save actions
以及code template等。代码风格,直接用google的也可以啊。《
Google style guide
》
7.掌握一个文本编辑器,Emacs或者VIM,熟悉常用快捷键。这在你需要在线编辑代码,或者编写其他语言代码时候特别有用。《
神器圣战
》
二、JDK相关
1.jstat : 观察GC情况,如:
2.jmap,查看heap情况,如查看存活对象列表:
或者dump内存用来分析:
3.分析dump的堆文件,可以用jhat:
分析完成后可以用浏览器查看堆的情况。这个工具的分析结果还比较原始,你还可以用
Eclipse MAT
插件进行图形化分析,或者IBM的
Heap Analyzer
.
4.jvisualvm和jconsole: JVM自带的性能分析和监控工具,怎么用?
请自己看文档。
5.jstack:分析线程堆栈,如
查看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
。
11.《
JVM调优标准参数陷阱
》,iteye神贴。
三、Linux工具
3.使用
htop 替换top。
4.熟悉下
strace,gdb
甚至 systemta
p来分析问题。
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.虚心问牛人。
六、最重要的是⋯⋯
一颗永不停止学习的心。