你應當知道的7個Java工具

在這篇文章中咱們決定收集製做一個關於這類工具的簡略名單,他們中的大多數工具只是最近推出的。其中一些工具是爲Java定製的,但也有一些是支持其餘語言。但對於Java項目而言,他們都是很是好的,而且擁有同一個願景:簡單化。讓咱們開始吧。

1. JClarity – 性能監測工具

它發佈於去年9月。圍繞java性能,當前這款工具提供了兩個產品:Illuminate 和 Censum。

Illuminate是一款性能監測工具,而censum是一種聚焦於垃圾收集日誌分析的應用。

它不只僅提供了數據收集功能和可視化,對於檢測到的問題,這兩個工具可以提供具備實踐性強的建議,幫助開發人員去解決問題。

「咱們要作的是把問題從數據收集階段轉移到數據分析和觀察階段」– JClarity Co-Founder Ben Evans.

主要特性:

1.瓶頸檢測(磁盤I/O,垃圾收集,死鎖等)

2.實施計劃–提出解決問題的具體建議,如「應用程序須要增長活動線程數」。

3.解釋–通常性問題的定義以及引發該問題的常見緣由,例如「垃圾回收時停頓時間耗時比例太高,可能意味着堆內存不夠,過小了」。

獨特之處?:

進行監測和性能問題確認後,他會當即提供可行性的意見來解決這些問題

幕後故事:

JClarity是在倫敦創建的,他的創始人包括Martijn Verburg, Kirk Pepperdin 和 Ben Evans,都是在java性能領域有着很是豐富經驗的人。

想要獲取更多關於JClarity的信息,點擊這裏

2. Bintray-二元次的社交平臺

當從一些」匿名」倉庫中導入庫文件時,Java開發人員在某種程度上被矇在鼓裏。Bintray給這些代碼添了「一張臉」,做爲一個社會化平臺爲java開發者服務,分享開源的軟件包(會不會有人說這是二元次的github?).它擁有超過85000個文件包,涵蓋18000個庫,展現了當前流行的和新版本的包。

主要特性:

1.上傳你的二進制文件,讓全世界均可以看到,而且能夠和其餘開發者進行交流,並獲得一些反饋。

2.使用 Gradle / Maven / Yum / Apt工具下載包文件,或者直接從平臺下載。

3.管理包的版本說明和相關文檔

4.REST風格的API -查詢/檢索 文件接口 和 自動分發接口

獨特之處:

Bintray的基礎功能相似於maven中央倉庫。但他增長了一個社交層,提供了一個將文件分發到CDN服務器的簡單辦法。

幕後故事:

JFrog基於Israel 和California,開發了Bintray。該工具是去年4月公開的,並在上次JavaOne大會上贏得了Duke’s choice award獎項

JFrog也開發Artifactory,Artifactory固然也是跑在Bintray上的。

3. Librato–監控和可視化雲服務

Librato做爲一個監控和管理雲應用的託管服務,它能夠瞬間完成自定義面板的建立,而不須要用戶去配置或者安裝任何軟件。

相比其餘面板,他的外觀和感覺如黃油般順滑。

「僅當你可以從數據中得到具備實際意義的信息時,數據纔是有價值的」—Joe Ruscio, Co-Founder & CTO

主要特性:

1.數據收集:集成了Heroku、AWS、數十種集成代理,以及綁定了java、Clojure等語言 。

2.自定義報告:性能指標和告警能夠經過郵件、HipChat、 Campfire以及HTTP POST請求 與你所想到的任何東西進行整合

3.數據可視化:帶有註釋、相關性分析,共享和嵌入選項的美觀的圖片展現

4.告警 :當指標超過必定閾值時會自動發出通知告警

特別之處:

很難找到任何Librato不知道如何表述以及對數據的理解。

幕後故事:

Fred van den Bosch, Joe Ruscio, Mike Heffner and Dan Stodin 幾我的在San Francisco 建立了Librato

4.?Takipi

Takipi的創建基於一個簡單的目的:告訴開發人員到底在什麼時候什麼緣由代碼出現異常。每當一個新的異常拋出,或者一個錯誤日誌發生,Takipi就會捕獲它,給用戶展現可能引發該異常的變量狀態,通過的方法和設備。Takipi在錯誤發生時刻將會覆蓋實際執行代碼—因此在你分析異常時,就如同當異常發生時你正好在場。

主要特性

1.監控-捕獲/未捕獲的異常,http錯誤,和被日誌記錄的錯誤

2.優先排序- 若是異常錯誤涉及到新增的代碼或者修改過的代碼,工具會統計集羣中這樣的錯誤發生的頻率,以及錯誤發生的機率是否在遞增。

3.分析-觀測實際代碼和變量狀態,甚至跨越不一樣的機器和應用

獨特之處:

生產環境的God Mode模式。錯誤發生時展現實際執行的異常代碼和變量狀態。這樣你分析異常時,就如同當異常發生時你在場。

幕後故事:

Takipi建立於2012年的San Francisco 和Tel Aviv。每種異常類型和錯誤都有惟一的怪物來表明他。

5. Elasticsearch – 搜索和分析平臺

Elasticsearch已經存在一段時間了,可是他的1.0.0版本在2月份才發佈。他是一個基於lucene的,託管在github上的開源項目,他有200位開發者。你能夠從這check out出代碼. Elasticsearch提供的主要特性 是易於使用的,可擴展的,分佈式的,rest風格的檢索。

主要特性

1.實時文檔存儲,文檔對象的每一個field都創建了索引,都能被檢索

2.構建適應於不一樣規模的應用的體系結構,在此之上實現分佈式搜索。

3.爲其餘平臺系統提供了具備rest風格的和原生java api。他也有hadoop的依賴包

4.簡單可用性強,不須要對搜索原理有深刻的理解。該平臺有免費模式,因此你能夠快速開始應用起來。

獨特之處:

如他所說,他具備可伸縮性,靈活的構建和易用性。提供一個易用性的平臺,進行規模擴展時無需考慮核心功能與用戶自定義選項間妥協。

幕後故事:

Elasticsearch由 Shay Banon back建立於2010年,最近募集到了7000萬刀的資金。在建立該項目前,Banon就經營一個Compass的開源項目,如今他是一個著名的搜索專家。那他進入搜索領域的動機呢?原來是爲了讓他妻子可以保存和檢索所喜歡的食譜,進而開發的一個應用。

6. Spark – 微型Web框架

回到java語言,Spark是一個極具自由靈感的,可以快速建立Web應用程序的微型Web框架。爲了支持java8和lambdas,今年早些時候他被重寫了。Spark是一個開源項目,源代碼能夠在github上能夠看到(請點擊這裏),目前開發該框架的人是Per Wendel和 過去幾年爲了實現只須要付出很小的努力,即可以快速構建一個web應用這樣使命的一小撮人。

主要特性:

1.快速上手,配置簡單

2.直觀的路由匹配器

3.建立可複用組建的模板引擎,它支持Freemarker, Apache Velocity 和 Mustache

4.Spark能夠運行在Jetty上,也能夠在tomcat上跑

獨特之處:

圖片賽過千言萬語,圖片更加直觀,把代碼check出來感覺一下吧

幕後故事:

Spark的創始人是Per Wendel,瑞典人。目前與其餘20我的開發Spark。去看看討論組,學習更多的關於Spark的知識,瞭解如何去給這個開源項目作貢獻,解決bug。

7. Plumbr – 內存泄漏檢測

深刻研究java虛擬機,其中的GC(Garbage Collector 垃圾收集器)將那些再也不使用的對象進行回收,釋放內存。儘管如此,有時候,開發人員仍舊會持有那些再也不使用的對象引用,佔用內存。這樣就會發生內存泄漏,這個時候,Plumer就該登場了。若是應用發生了內存泄漏問題,Plumer就會進行檢測,生成報告,而且提供切實可行的方案去fix掉這個問題。

主要特性

1.實時的內存泄漏檢測和告警

2.一份包含時間,內存大小,速度(MB/h) 以及泄漏事件的重要級別的報告。

3.內存泄漏的代碼位置

若是你想學習Java,想加入Java開發行業,那麼動力節點[**Java零基礎**][1]班現已開啓免費學習,對於想學Java的同窗無疑是好消息,親自考察教學質量,機會就在眼前,快來報名吧,座位緊張,先到先得。
相關文章
相關標籤/搜索