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

六、最重要的是⋯⋯


文章转自庄周梦蝶  ,原文发布时间2012-04-17

目录
相关文章
|
6天前
|
架构师 安全 Java
年薪120W的架构师简历你见过吗?java程序员该如何达到?
第一个问题是,“大多数Java开发人员都在哪里,我们中有多少人?”我们回答了这个问题,把我们能得到的最准确的信息结合起来,然后推断出我们认为是一个受过良好教育的猜测。
|
11天前
|
消息中间件 缓存 Java
最壕逆天改命:18名Java程序员凭阿里P8笔记,同时斩获大厂offer
上高中时由于看了一本《坏蛋怎么练成的》从此一发不可收拾,对小说的痴迷渐渐成了病态,上课看下课看,成绩一落千丈,还好高三幡然醒悟勉勉强强上了一个“野鸡”二本,学了所有男生都喜欢的计算机专业; 大学生活不知道你是不是跟我一样,逃课上网,睡懒觉,当快要挂科时应付一下,好不容易混到了实习,随波逐流的就跟着学校的安排,进了一家普普通通的公司,这么一呆便是三年,可能男生天生对计算机比较喜欢,工作上的问题在师傅的带领下还是能够解决,慢慢的变成了老油条,拿着刚刚饱肚子的薪水,每天混日子划水。 直到有一天,看到《新上海滩》中,冯敬尧对丁力说得一段话
|
16天前
|
消息中间件 安全 Java
GitHub标星3.9万的Spring生态全家桶笔记,Java程序员人手一份
本篇将会带领大家从基础一直学习到SpringBoot源码层面!其中涵盖了Spring MVC、MyBatis(Plus)、Spring Data JPA、Spring Security、Quartz等一系列主流框架,同时还整合了一线互联网大厂常用技术与中间件等等内容!同时这篇PDF还是十分注重实战学习、学会定位和解决问题、能够举一反三的思考。
26 0
|
17天前
|
Java 程序员
肝退卷王!全靠这份让世界500强企业HR点赞的Java程序员面试秘籍
面试技术人员,不是看他有多深多尖端的技术,而是看他的基础是否扎实,是否有团队精神,是否具备可塑能力,是否有奉献精神,大企业缺少的不是技术人员,是综合素质人才。本书的讲解形式很好,没有仅仅停留在技术的表面,而是通过原理、技巧和经验等手段,让读者置身于面试实战中,体会更多技术背后的东西。
16 0
|
17天前
|
设计模式 Dubbo NoSQL
终于拿到了爆火全网的进一线大厂程序员必看的1700道java面试题
爆火全网的进一线大厂程序员必看的1700道java面试题到底有多牛? 牛不牛不敢说,但是有好多程序员是靠这一套1700道高频面试题,顺利收到很多大厂offer! 以至于,到现在为止,大厂都开始按照这一套1700道面试题来对程序员进行考核! 这1700道java面试题包含的内容有:java基础、JVM、多线程、MySQL、spring、springboot、springcloud、dubbo、mybatis、redis、网络IO、Linux、MQ、zookeeper、netty、设计模式、算法、大数据相关知识、项目方面; 可以说是非常全了,话不多说,直接上干货!
|
18天前
|
Java 程序员 Android开发
翻烂了!阿里P8总结最新Java程序员面试秘籍GitHub已霸占首页一周
自从Java语言上升为最常用的编程语言为止,越来越多的企业都在选用这个便捷实用的开发语言! Java程序员目前的前景可以说是一片光明,从网页到手机安卓开发已经都离不开Java
|
21天前
|
NoSQL Java 应用服务中间件
在北京拿40K的Java程序员,需要掌握哪些技术栈才能匹配阿里P7?
通过职友集数据可以查看,以北京 Java 相关岗位为例,其中 【20k-30k】 薪酬的 Java 工程师,占到了整体从业者的 30.8%! 北京 Java 工程师「工资收入水平 」
|
24天前
|
开发框架 架构师 Java
Java程序员不掌握SpringBoot怎么进大厂,阿里架构师推荐实战文档
Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起时,还未得到普及使用。相比于以往的一些开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定而健壮。使用Spring Boot开发框架,不仅能提高开发速度,增强生产效率,从某种意义上,可以说是解放了程序员的劳动,而且一种新技术的使用,更能增强系统的稳定性和扩展系统的性能指标。本书就是本着提高开发效率,增强.系统性能,促进新技术的普及使用这一目的而写的。
|
25天前
|
缓存 Java 数据库连接
「Java面试」五年Java程序员去某东面试竟然在MyBatis缓存这翻车
一个5年工作经验的小伙伴,去面某东被问到MyBatis何时使用一级缓存,何时使用二级缓存?去之前还特地复习了MyBatis的相关知识,想着自己用MyBatis用得比较熟练了,竟然在这道题上翻车了。 今天,我给大家来分享一下MyBatis的缓存机制。
32 0
|
25天前
|
SQL NoSQL Java
打算跳槽的Java程序员一定要看完:谈谈你对NoSQL的理解
NoSQL呢常见的解释有Non-Relational SQL或者Not Only SQL,不过Not Only SQL被更多人接受,一般泛指非关系型数据库。它和关系型数据库不同的是,不保证关系数据的ACID特性。
26 0
相关产品
云迁移中心
推荐文章
更多