莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          Java程序員常用工具集

          Posted on 2012-04-17 17:05 dennis 閱讀(19231) 評論(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 大兵小將
          總結的非常好,不論是對新手還是有一定工作經驗的人都有幫助。非常感謝!
          主站蜘蛛池模板: 高密市| 勐海县| 桓仁| 土默特左旗| 普陀区| 唐河县| 随州市| 安庆市| 安岳县| 昌黎县| 长垣县| 玛纳斯县| 淅川县| 荆州市| 新丰县| 水富县| 鄂托克前旗| 华阴市| 尖扎县| 盈江县| 温宿县| 自贡市| 阿瓦提县| 报价| 麻江县| 德清县| 霍城县| 阳谷县| 嘉荫县| 日土县| 泾源县| 宁波市| 靖州| 青冈县| 松潘县| 五峰| 浦江县| 崇州市| 沙雅县| 晋城| 常山县|