Java 開發者經常都會想辦法如何更快地編寫 Java 代碼,讓編程變得更加輕鬆。目前,市面上涌現出愈來愈多的高效編程工具。因此,如下總結了一系列工具列表,其中包含了大多數開發人員已經使用、正在使用或未來必定會用到的高效工具。這份列表名單包括集成開發環境、集成工具、測試和質量工具等。html
Eclipse是最有名也最普遍使用的Java集成開發環境(IDE),容許開發者結合語言支持和其餘功能到任何的默認包中,並且Eclipse市場有許多定製和擴展的插件。java
IntelliJ已經引發了開發者的「追捧」,甚至比Eclipse還受寵,有免費版和專業版。IntelliJ爲衆多Java EE框架提供了針對框架的編碼幫助和提高生產效率的功能,還有大多數應用服務器的部署工具。git
NetBeans的也屬於IDE類,容許開發者快速、簡便地開發桌面應用、移動應用和Web應用。NetBeans是免費開源的,還擁有全球性的用戶和開發者社區。程序員
JDeveloper是Oracle提供的一個免費的集成開發環境,它爲Oracle融合中間件和融合應用產品提供完整的端到端開發,支持整個開發生命週期。github
JUnit是一個Java語言的單元測試框架,用於編寫和運行可重複的測試。它爲測試預期結果提供斷言,爲共享的經常使用測試數據提供測試裝置(test fixtures),以及運行測試的測試者(test runners)。能夠在這裏看一下JUnit的教程。web
TestNG是受到了JUnit的啓發開發而成,但同時還具備一些新功能,因此相對而言,TestNG更增強大也更便於使用,如註解(annotations)、靈活的測試配置、數據驅動的測試和參數支持,以及強大的執行模型。它涵蓋了單元測試、功能、端到端、集成測試,支持各類工具和插件(Eclipse、IDEA、Maven等)。具體內容能夠參考分別使用 Maven Failsafe 與 TestNG 進行單元測試與集成測試的文章。sql
Mockito是一個mocking框架,幫助開發者編寫具備簡潔API的精美測試。其測試的可讀性很好,並能產生清晰的驗證錯誤。使用Mockito還能在執行後能夠對交互進行問詢。Mocks是透明的,因此開發者能夠專一於測試選定的行爲。更多詳情能夠參考mockito的相關文章。shell
Arquillian是一個Java和JVM的測試平臺,主要側重於集成和功能測試。它去掉了單元測試,重點關注真正實時環境下的程序代碼的相互做用。Arquillian爲測試配備了容器生命週期管理和典型測試精選。apache
Apache Maven是一個很是著名的軟件項目管理和綜合工具。基於項目對象模型(POM)的概念,它的信息中心管理着項目的構建、報告和文檔。Maven提供了一個統一的構建系統、項目信息和最佳的開發實踐指導,而且支持新功能的透明遷移。編程
Gradle是一個開源的自動化構建系統。Gradle能夠自動構建、測試、發佈、部署,還有多種軟件包或其餘類型項目,如生成靜態網站。Gradle結合了Ant的能力和靈活性,以及Maven的依賴管理和約定,造成了一種高效的構建方式。
Apache Ant是一個開源的Apache項目,經Apache軟件許可發佈。它由多種內置任務而成,容許開發者編寫、裝配、測試和運行java應用程序。它的特色是高度靈活,不會嚴格限制Java項目的編碼慣例或目錄佈局。
Apache Ivy是一種流行的依賴管理工具,注重靈活性和簡單性。它是Apache Ant項目的一個子項目,而Ivy用來解決項目依賴項。外部的XML文件定義項目依賴項,並列出構建項目的所需資源。而後Ivy從artifact 存儲庫(artifact repository)中下載資源,它具備良好的靈活性和可配置性。Apache Ivy 是由Apache Apache Ant集成的,所以將使Apache Maven的依賴管理優點也帶到Apache Ant構建文件中,爲那些已經使用Apache Ant且不想遷移到Apache Maven的開發者提供了便利。
Apache Tomcat是一個開源的Web服務器和Servlet容器,由Apache軟件基金會(ASF)開發。它實現了幾個Java EE規範,包括Java Servlet、JavaServer Pages(JSP)、Java EL和WebSocket,提供了一個能夠運行Java代碼的HTTP Web服務器環境。想要了解更多請點擊。
WildFly,其前身是JBoss AS或Jboss,是一個由Jboss開發的應用服務器,如今由紅帽在開發維護。它是用Java編寫的,而且實現了Java平臺和企業版(Java EE)規範。WildFly是能夠在多個平臺上運行的免費開源工具。
GlassFish是由Sun Microsystems的Java EE平臺起步,如今由Oracle公司贊助的開源應用服務器項目。支持的版本叫作Oracle GlassFish應用服務器。 GlassFish是免費軟件,經兩個免費的軟件許可證批准:通用開發與發佈許可(CDDL)和GNU通用公共許可證(GPL)。
Oracle WebLogic 服務器是一個Java EE應用服務器,目前由Oracle公司開發,用於構建和部署企業應用Java EE,支持下降運營成本、提升性能、加強可擴展性和支持Oracle應用組合等的新特性。
Apache JMeter是開源的Apache項目,其實是一個專爲負載功能測試和性能測試的Java應用。它最初的設計是用於Web應用,但如今已擴展到其餘測試功能。它能夠測試靜態和動態資源性能,模擬一個或多個服務器負載來測試它的強度或者分析不一樣負載類型下的總體性能。能夠查看關於Jmeter的更多詳情。
SoapUI是一個免費的開源跨平臺的功能測試解決方案。它提供了一個圖形界面和企業級功能,容許建立和執行自動化功能、迴歸、符合性和負載測試。SoapUI在一個測試環境下提供了完整的測試覆蓋率,並且支持全部的標準協議和技術。
SonarQube是一個開源的平臺,現已成爲代碼質量管理系統的世界領先者,而且因代碼質量的持續檢查爲衆人所知。除了Java外,它還支持大多數的語言,並且能夠用做Android開發,它集成了大多數的持續集成工具。SonarQube會爲重複代碼、編碼標準、單元測試、代碼覆蓋、複雜代碼、潛在錯誤、註釋、設計和架構而產生報告。
FindBugs也是開源的工具,在Lesser GNU Public license許可下發布。它運行在Java字節碼上而不是源代碼,能夠識別和肯定潛在錯誤的嚴重程度,如空指針引用、無限遞歸循環、Java庫和死鎖的錯誤使用。同時,它還能夠做爲Eclipse、NetBeans,IntelliJ IDEA的插件。能夠參考FindBugs Eclipse實例。
PMD是一個源代碼分析器。它能夠檢測到常見的編程錯誤,如未使用的變量、空的catch塊、沒必要要的對象建立等等。它支持除了包括Java的大多數語言,還包含CPD、複製粘貼探測器。
Checkstyle的是一個開發工具,能夠幫助程序員堅持按編碼標準來編寫Java代碼,會自動啓動Java代碼檢查。它的配置性很強,能支持幾乎任何的編碼標準。
Apache Subversion是衆所周知的SVN工具,是一個軟件版本和版本控制系統,在一個開源許可下發布。目前,它是由一個Apache軟件基金會的項目開發,也是全球性開發者和用戶社區的一部分。
Git是一個免費開源的分佈式版本控制系統,可以提升大小事務的速度和效率。相對於其餘的配置管理工具,Git的特點在於提供廉價的局部分支、便利的暫存區和多個工做流。每一個Git工做目錄是一個完整的版本庫,有完整歷史和完整版本的跟蹤能力、獨立的網絡接入或中央服務器。能夠查看更多Git的文章。
Jenkins是一個屢獲殊榮的應用程序,可以監視重複的工做,從創建一個軟件項目到由cron運行的做業。它的基本功能是不斷創建和測試軟件項目,使得開發者能更容易地將變動集成到項目中,使用戶更容易得到新的構建。Jenkins還能夠監控外部運行任務的執行,如cron jobs,即便是運行在遠程計算機上的任務。
Apache Continuum是一個企業級持續集成服務器。提供的特性包括:自動構建、發佈管理、基於角色的權限管理,以及能與其它流行構建工具和源代碼管理系統相集成。
Hudson是一個用Java編寫的持續集成(CI)工具,在應用服務器上運行。它支持各類SCM工具,如Subversion、Git,能夠執行Apache Ant和Apache Maven項目,以及任意shell腳本和Windows批處理命令。它監視重複任務的執行,如創建一個軟件項目或由cron運行的做業。
在爲分析Java應用開發最創新的智能工具方面,YourKit Java分析器是技術的領頭羊。你能夠在CPU和內存分析上都使用YourKit解決方案,還能夠以最大生產率和零開銷來分析大型應用。同時,Java分析器還有幾個剛提出的分析創新,爲其在各大小型企業的專業Java開發者得到了當之無愧的人氣。
JProfiler是商業許可的Java分析工具,對於分析性能瓶頸、內存泄漏、CPU負載和解決線程問題等方面很是有效,它支持在同一臺機器或遠程機器上進行分析。用戶能夠看到活躍的總字節、實例、線程、類和垃圾回收器活動的可視化表示。它能夠做爲一個獨立應用使用,也能夠做爲Eclipse軟件開發環境的插件。
OneAPM For Java 能夠展現業務代碼的trace,實時展現緩慢的sql語句和nosql操做,還能夠方便地監控JVM。能夠智能探知 Java 應用之間的相互調用關係,經過串聯複雜的後臺組件,動態生成 J2EE 應用總體架構視圖。經過拓撲圖直觀瞭解分佈式或 SOA 架構應用的運行狀態,準肯定位系統問題。同時監控後臺事務和 Web 事務。
JaCoco是衡量和報告Java代碼覆蓋率的一個開源工具包。它是由Eclipse公共許可協議許可,是目前惟一能支持Java 8的字節代碼覆蓋工具。
Clover是一個商業的代碼覆蓋工具,它提供的指標可讓程序員更好地平衡編程和測試。它在IDE或你的持續集成系統下運行,還包括能加快測試速度的測試優化。
JIRA是幫助團隊規劃和構建優秀產品的跟蹤工具。成千上萬的團隊選擇JIRA來捕捉和組織問題、分配工做、跟進團隊活動。它是付費工具,但有一個7天的免費試用期。
Trac是一個針對軟件開發項目開發的完善wiki和問題的跟蹤系統,以最簡潔的方式對Web軟件項目進行管理。它還能夠幫助開發人員編寫優秀的軟件,提供了對Subversion和Git(或其餘版本控制系統)的接口,集成了wiki和便捷報告程序。Trac容許wiki在問題描述和提交信息中標記,還建立了bug、任務、變動、文件和頁面之間的連接和無縫引用。
Javadoc是Oracle公司用來從Java源代碼中生成HTML格式API文檔的生成工具。IDE能夠自動生成HTML代碼。許多文件編輯器幫助用戶生成Javadoc源,並將 Javadoc 信息看成程序員的內部參考。Javadoc也提供了用於建立doclets和taglets的API,讓你可以進一步分析 Java 應用的結構。
Document! X是自動化的Java文檔工具和完整的文檔編寫環境的結合體,能夠用來爲你的Java項目建立準確的專業文檔。它會自動將生成的文檔集成在Java IDEs中,同時還能給庫、命名空間、類、接口、構造函數、方法、屬性和字段生成文檔頁面。
以上就是爲Java開發者提供的一系列能夠提升編程效率的工具,盡情試用吧!之後,媽媽不再用擔憂你的「高效開發」了!
(編譯自:http://www.javacodegeeks.com/2015/02/java-development-tools-programming-boost.html)
OneAPM 爲您提供端到端的 Java 應用性能解決方案,咱們支持全部常見的 Java 框架及應用服務器,助您快速發現系統瓶頸,定位異常根本緣由。分鐘級部署,即刻體驗,Java 監控歷來沒有如此簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客。
本文轉自 OneAPM 官方博客