每個Java程序員需要了解的8個Java開發工具
Java是計算機應用程序編程語言,被廣泛用于創建Web應用、服務器處理、用戶端的API開發乃至數據庫等多個領域。下面列出了8個有助于你開發Java應用程序最好的Java工具。(在轉發的基礎上,我又補充了幾個)
1. SparkJava
這是一款體形輕巧,功能強大的Web應用框架。Spark擁有簡單而直接的方法。您可以通過一些繁瑣的XML配置來使用Spark框架編寫應用程序。Spark能讓你花費最少的精力來開發Java的Web應用程序。Spark是一個類似于Sinatra的微型Web開發框架,最新支持Java8和lambdas。Spark是完全開源的,Github上有它的源代碼。
官方網站:http://sparkjava.com/
主要功能:
- 第一次部署非常快速而簡單
- 靈活的路由匹配
- 它有一個模板引擎,可以創建支持Freemarker, Apache Velocity 和 Mustache的可重用組件
- 可作為獨立的Spark運行在Jetty上,也可以運行在Tomcat上
獨特之處:一張圖能抵過1000個單詞,而一個屏幕截圖的威力更大,誰用誰知道~
起源:Spark是由來自于瑞典的Per Wendel發起的,不過一共有20多個開發人員參與了后來的開發。
2. jClarity
jClarity是兩款產品的結合:illuminate用于性能監控,而census則可以收集日志和分析數據。jClarity支持云集成,并且其框架緊湊輕巧。
官方網站:http://www.jclarity.com/
主要功能:
- 故障檢測((Disk I/O,垃圾收集,死鎖等等)
- 操作建議 - 對故障提出解決建議,如"The application needs to increase the number of active threads".
- 解釋 - 給出問題出現的原因,如"A high percentage of time spent paused in GC may mean that the heap has been under-sized".
獨特之處:該工具和其他性能監控工具之間的一個區別是,它簡化了問題報告并用簡單的英語描述了建議解決方案。
起源:JClarity誕生于London,創始人是 Martijn Verburg, Kirk Pepperdin and Ben Evans,這三位都是Java性能領域的老將。
3. Clover
Clover是用于代碼覆蓋的一大利器。該工具有助于用于應用程序測試的代碼。我們可以在IDE或持續集成系統中運行Clover。該工具能讓測試的運行速度更快。
官方網站:https://www.atlassian.com/software/clover/overview
4. JProfiler
JProfiler擁有直觀的用戶界面,可以幫助你解決性能瓶頸和理解問題。JProfiler能讓你輕松約束內存泄漏和修復線程的問題。
官方網站:http://www.ej-technologies.com/products/jprofiler/overview.html
5. VisualVM
VisualVM是一個集多功能于一身的Java 故障排除工具。你可以使用VisualVM整合多命令行JDK工具。此輕便的工具有著驚人的分析能力。你可以在各種技術,如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM最出名的是附加了API,以獲得更多的數據,以及自動使用更快捷。
官方網站:http://visualvm.java.net/
6. Elasticsearch
Elasticsearch提供了可以整合現有的應用程序來驅動其與輸入數據的交互的工具。這款開源工具提供了 實時搜索和分析引擎。Elasticsearch可用于可靠性和可擴展性作為重要因素的分布式環境。該工具提供了超簡單的全文搜索體驗。 它是一個創建于 Apache Lucene 上的開源項目,由Github上的兩百多個開發者義務維護。
官方網站:http://www.elasticsearch.org/
主要功能:
- 接近實時文檔存儲,每個字段都是可索引可檢索的。
- 它的分布式搜索架構支持小型到大型的應用程序
- RESTful和原生Java API,還有針對Hadoop的庫
- 開箱即用,也不需要程序員對搜索有很深入的了解,更棒的是它還提供免費模式
獨特之處:非常容易上手,無需定制核心功能和繁雜的自定義選項。
起源:Elasticsearch由Shay Banon在2010年創立,并且在最近剛剛獲得7000萬美元的融資。這個應用其實最開始是Banon為他的妻子開發的,便于她搜索最喜歡的食譜,很有愛吧~
7. Sonarqube
Sonarqube是一個用來 管理代碼質量的開放式平臺。基于Web的應用程序可以與Java應用程序進行配置。它提供了規則、警報、閾值、排除和設置功能。 SonarQube允許用戶將指標結合在一起,以及使用歷史的措施混合。
官方網站:http://www.sonarqube.org/
8. Takipi
Takipi是一個輕量級的Java代理。Takipi安裝方便,用不了幾分鐘就可以搞定。它對代碼注釋或配置并沒有要求。你可以使用一臺具有完全功能的服務器與Takipi工作。此款 Java工具能幫助你減少調試時間。Takipi的目標很簡單:告訴開發者代碼崩潰的時間及原因。無論在何時發生異常,Takipi都會抓取到并給出分析報告。

官方網站:https://www.takipi.com/
主要功能:
- 檢測 - 抓取異常、HTTP和登陸錯誤
- 重點排查-經常發生錯誤的集群,分析錯誤率是否有上升
- 分析-查看實際代碼和變量狀態,甚至通過不同的機器和應用程序。
獨特之處:在代碼出現錯誤時即時報告錯誤。
起源:Takipi誕生于2012年的舊金山和Tel Aviv(特拉維夫市)。每個異常類型和錯誤都有獨一無二的monster表示。
—————————————————————————————————————————————
9. Bintray - 文檔分享平臺
Bintray為Java開發人員提供了一個可以 分享代碼的平臺,它上面有85000多個文件包,18,000多個庫。對了,你一定會想到GitHub,這個網站也可以用GitHub的賬號登陸哦。
主要功能:
- 上傳文檔,與全世界各地的開發人員交流
- 可以用Gradle / Maven / Yum / Apt下載代碼庫,當然也可以直接下載
- 管理發布信息和文檔
- REST API-搜索/檢索文檔并自動分配
獨特之處:Bintray的基本功能類似于Maven Central,但是Bintray有社交特性,上傳文件的步驟也更加簡便。
起源:Bintray由以色列創業公司JFrog創立,于去年四月發布,并贏得了JavaOne協會的Duke's選擇獎。
10. Librato –監測&可視化云服務
Librato是一個 監測和管理云應用程序的托管服務,它可以在幾秒中之內創建自定義 儀表盤,不需要安裝或者部署任何軟件。最棒的是它和其他儀表盤比起來更加順暢。
主要功能:
- 數據收集:集成了Heroku、AWS、數以萬計的代理(包括Nest),綁定了Java、Clojure等開發語言。
- 自定義報表:通過HipChat, Campfire,郵件或者HTTP POST請求發出指標或警報。
- 數據可視化:用漂亮的圖表展示注釋、關聯、分享和插入選項。
- 警報:當指標超出某個閥值時自動發出警報。
獨特之處:Librato幾乎可以表現任何東西,并且把數據變得有意義。
起源:Librato來自于美國舊金山,由Fred van den Bosch, Joe Ruscio, Mike Heffner 和 Dan Stodin合作開發。
11. Plumbr – 內存泄漏檢測
發生 內存泄漏時怎么辦?用Plumbr,它可以檢測出應用程序的內存泄漏問題并提供切實可行的解決方案。
主要功能:
- 實時內存泄漏檢測和警報
- 并提供泄漏的時間、大小、速度和重要性的報告
- 代碼中內存泄漏的位置
獨特之處:快速定位泄漏點,并給出詳盡的解決方案,再也不用擔心內存泄漏問題啦~
起源:創立于 Estonia,創始人包括Priit Potter, Ivo M?gi, Nikita Salnikov-Tarnovski 和 Vladimir ?or,都是Java團隊中很有實力的人物。
來自: http://www.codeceo.com/article/8-best-java-tools-every-java-programmer-must-use.html