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外,还可以用商业的jprofiler10.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.虚心问牛人。 六、最重要的是⋯⋯ 一颗永不停止学习的心。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

MITM6:用IPv6攻陷IPv4网络的工具

随着IPv6概念的提出,互联网上针对IPv6协议的使用也日渐增多,但即便如此IPv6在公司内部却并不受欢迎,很少会有公司使用IPv6。然而,大多数公司可能都忽略...

3537
来自专栏北京马哥教育

一篇了解爬虫技术方方面面

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬...

1803
来自专栏ChaMd5安全团队

【荐】Web Application Penetration Testing中文译作

(英文原版地址:https://www.exploit-db.com/docs/english/44319-web-application-security-t...

1474
来自专栏编程直播室

折腾git pages+hexo+NexT初识hexo开始本地试运行准备服务器准备上传工具先告一段落发表文章主题

2186
来自专栏腾讯移动品质中心TMQ的专栏

常用流量测试方法及一些思考

App性能测试中流量测试是其中重要的一项,网络场景(wifi、非wifi)、用户使用场景(页面加载流量、场景使用流量、待机流量),这些都是需要考虑的测试点。

5035
来自专栏FreeBuf

关于Sql注入以及Burpsuite Intruders使用的一些浅浅的见解

最近一直在看关于SQL注入的一些文章,因为很多不懂所以看的比较慢,看的过程中中遇到了很多问题,但是静下心来细细品味一下,发现sql注入还是很有意思的!昨晚在看一...

1492
来自专栏FreeBuf

反取证技术:内核模式下的进程隐蔽

介绍 本文是介绍恶意软件的持久性及传播性技术这一系列的第一次迭代,这些技术中大部分是研究人员几年前发现并披露的,在此介绍的目的是建立这些技术和取证方面的知识框架...

3278
来自专栏Java后端技术栈

记一次解决业务系统生产环境宕机问题!

Zabbix告警生产环境应用shutdown,通过堡垒机登入生产环境,查看应用容器进程,并发现没有该业务应用的相应进程,第一感觉进程在某些条件下被系统杀死了,然...

851
来自专栏恰同学骚年

NoSQL初探之人人都爱Redis:(1)Redis简介与简单安装

  随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类型的Web2.0纯动态网站已经显得力不从心,暴露了...

1112
来自专栏智能大石头

Oracle免客户端For .Net(增加分析Devart和DataDirect)

    我只是一名普通的.Net开发人员,常用SqlServer,偶尔用其它数据库,属于能连上然后select/execute就行的那种。但就是我这么小的愿望,...

20410

扫码关注云+社区

领取腾讯云代金券