java 工具集
2014-04-17 11:45
260 查看
我发现很多人没办法高效地解决问题的关键原因是不熟悉工具,不熟悉工具也还罢了,甚至还不知道怎么去找工具,这个问题就大条了。我想列下我能想到的一个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.虚心问牛人。
六、最重要的是⋯⋯
一颗永不停止学习的心。
一、编码工具
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.虚心问牛人。
六、最重要的是⋯⋯
一颗永不停止学习的心。
相关文章推荐
- java 并发官方教程
- springmvc+ehcache简单例子
- 关于java.lang.NullPointerException这个异常
- Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效
- 《Java解惑》系列——01表达式之谜——谜题10:八两
- myEclipse6.5快捷键汇总
- eclipse无线连接android真机能进调试
- 《Java解惑》系列——01表达式之谜——谜题09:半斤
- myeclipse 启动过程
- Spring源码解析(一) Spring事务控制之Hibernate
- struts实现文件下载
- 最简单的Struts2登录
- java中判断字符串是否为数字的三种方法
- 如果构造方法中包含super(…)或this(…)调用,那么它们只能作为该构造方法的第一条语句,也就是说连try…catch都不可以有
- SpringMVC AJAX请求 JSON格式
- java 捕捉错误try-catch
- java swing 中的FileDialog
- java中经典的25种模式开发Design Patterns
- java 环境搭建
- JAVA笔记14-线程