「乾貨」Java 程序員開發常用的工具(全)


java程序媛之家



Java 程序員開發常用的工具

作為一名Java程序開發人員,可以的選擇集成開發環境IDE(Integrated Development Environment)非常多,得益於Java是一門開源語言。有開源免費的;有商用收費的。如何選擇一款適合自己的集成開發環境,亦或說選擇一款符合自己項目開發需要的集成開發環境。如果選擇得當,那麼就能夠使得開發工作事半功倍;否則事倍而功半。【來自: gitbook】

常用開發工具

1、免費開源Eclipse

Eclipse最初是由IBM公司開發的替代商業軟件Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區,現在它由非營利軟件供應商聯盟Eclipse基金會(Eclipse Foundation)管理。Eclipse 是一個開放源代碼的、基於 Java 的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT)。

Eclipse是著名的跨平臺的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C++、PHP、Python等語言的開發工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發商以Eclipse為框架開發自己的IDE。

「乾貨」Java 程序員開發常用的工具(全)


2、商用收費MyEclipse

MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發環境,由Genuitec公司發佈,它是商用收費的。

MyEclipse 是對Eclipse IDE的擴展,利用它可以在數據庫和JavaEE的開發、發佈以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發環境,包括了完備的編碼、調試、測試和發佈功能,完整支持HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate,Spring。

「乾貨」Java 程序員開發常用的工具(全)


3、Oracle公司免費的NetBeans

NetBeans是Sun公司(2009年被甲骨文收購)在2000年創立的開放源代碼供開發人員和客戶社區的家園,旨在構建世界級的Java IDE。

NetBeans當前可以在Solaris、Windows、Linux和Macintosh OS X平臺上進行開發,並在SPL(Sun公用許可)範圍內使用,是一個屢獲殊榮的集成開發環境。NetBeans包括開源的開發環境和應用平臺,NetBeans IDE可以使開發人員利用Java平臺能夠快速創建Web、企業、桌面以及移動的應用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等開發語言。

NetBeans項目由一個活躍的開發社區提供支持, NetBean開發環境提供了豐富的產品文檔和培訓資源以及大量的第三方插件。

「乾貨」Java 程序員開發常用的工具(全)


4、IntelliJ IDEA

IntelliJ IDEA是一款綜合的Java 編程環境,被許多開發人員和行業專家譽為市場上最好的IDE。它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持J2EE,Ant,JUnit,SVN和Git集成,非平行的編碼檢查和創新的GUI設計器。IDEA把Java開發人員從一些耗時的常規工作中解放出來,顯著地提高了開發效率。具有運行更快速,生成更好的代碼;持續的重新設計和日常編碼變得更加簡易,與其它工具的完美集成;很高的性價比等特點。IntelliJ IDEA以前是收費軟件,不過在2009年以後就開始推出了免費的社區開源版本。不過商用還是需要收費的。

「乾貨」Java 程序員開發常用的工具(全)


Eclipse、MyEclipse、NetBeans和IntelliJ IDEA的特點和適用場景:

Eclipse、MyEclipse、NetBeans和IntelliJ IDEA這四個IDE有著不同的特性和優點,根據開發的不同可能需要選擇不同的IDE。在Java開發的每個方面,這四個IDE都能勝任工作,然而根據你所做的不同開發例如Swing開發,web開發或者企業開發,選擇IDE就有所偏向。

  • Swing開發:

如果你專門從事Swing開發,NetBeans無疑是最好的選擇,如果你沒有選擇NetBeans而是選擇了Eclipse,建議使用MyEclipse 和它的Matisse4Eclipse構造器。IDEA由於對JGoodies Forms的支持,所以在開發Swing方面與前兩者相比並不佔有優勢。

  • JSP/Struts開發:

開發JSP/Struts首選的是IDEA,接下來是MyEclipse,然後是NetBeans,由於缺少對內建Struts的支持,Eclipse的基本版本沒有競爭優勢。

  • JSF開發:

在開發JSF方面,這三個IDE可以說都是很好的選擇,但是IDEA可能會更好一點,接下來是Eclipse/MyEclipse,最後是NetBeans。

  • 企業開發:

由於NetBeans對JPA的支持和它產生代碼的質量以及對持久化單元合適的設置,所以在企業開發方面,NetBeans是首選,接下來是IDEA,由於Eclipse的Dali項目的限制,Eclipse可能是最後選擇的。如果放棄標準的JPA,從事Hibernate開發,MyEclipse是最好的選擇。

除了上面提到的這四款由大公司開發的IDE外,JAVA開發的IDE還有很多,例如Spring基於eclipse推出的STS(Spring Tool Suite)、小而且快JCreator,但是以上最常用的eclipse和IntelliJ IDEA。國內Java開發人員使用的最多也是eclipse和IntelliJ IDEA。筆者用的最多是eclipse及Spring基於eclipse推出的STS。

「乾貨」Java 程序員開發常用的工具(全)


常用接口測試工具

作為一名開發人員,完成開發工作後,單元測試及接口測試必不可少。單元測試不用說了,Java人員幾乎都是使用JUnit及JUnit相關的測試框架。對於接口測試呢?有什麼工具可以使用呢?在說工具之前先來了解幾個問題。

  • 什麼是接口測試?

用來檢查各個組件的接口的測試,接口測試主要檢查外部系統與系統之間以及各個子系統之間的交互點,測試的重點在數據的傳遞上。

  • 為什麼要做接口測試?

如果項目全部推行單元測試,時間上不允許,而接口測試是一種特殊的單元測試,覆蓋率沒有做到所謂的單元測試的百分之百,不過覆蓋了所有的面像用戶的功能點,而且接口測試可以採用自動化+持續集成的方式,節約時間了成本,同時提高了效率。

  • java第三方包httpclient

如果使用httpclient進行接口測試,免不了開發人員還需要自己動手去編寫代碼,這個不是首選方案。筆者也不推薦這個方案,增加了程序人員的工作強度。

1、Postman

Postman是一款功能非常棒的Chrome擴展,提供功能強大的API&HTTP請求調試。它可以發送幾乎所有類型的HTTP請求,並可以附帶任何數量的參數和請求頭(headers)。可以說Postman滿足了HTTP接口測試的大部分功能,只有少部分的功能不被支持,比如:請求流程的控制;使得程序員可以在編寫一些單元測試中解脫出來。

Postman特點:

  • 支持用例管理
  • 支持get、post、文件上傳、響應驗證、變量管理、環境參數管理等功能
  • 支持批量運行
  • 支持用例導出、導入
  • 支持雲端保存用例【付費用戶】


「乾貨」Java 程序員開發常用的工具(全)


2、JMeter

Apache JMeter是Apache組織開發的壓力測試工具,也是目前應用最廣泛的開源性能測試工具之一。它最初被設計用於Web應用測試,後來擴展到其他測試領域。像其他性能測試工具一樣,JMeter可以用於對服務器、網絡或對象模擬巨大的負載,來測試不同壓力類別下應用系統的強度,分析應用系統的整體性能。JMeter由100% JAVA開發,開源,具備完全的可移植性;採用Swing界面和輕量組件支持包;支持插件擴展,可以通過擴展插件支持新的協議,監控系統資源,展示更豐富的性能圖表等。企業能夠在JMeter的基礎上實現二次開發,擴展JMeter的功能為己所用。不過要記住Jmeter由JAVA開發,安裝Jmeter之前需要先安裝JDK。Jmeter功能非常強大是筆者最喜歡的接口測試工具,沒有之一。

「乾貨」Java 程序員開發常用的工具(全)


Postman和Jmeter特點:

(1)測試用例組織形式

Jmeter和Postman的測試用例組織形式都比較扁平,Jmeter通過測試計劃(TestPlan)來組織測試用例;Postman主要通過集合(Collection)來組織測試用例。

(2)支持的接口類型與測試類型

從功能上Jmeter最為強大,可以測試各種類型的接口(包括Http、數據庫、webservice、ftp等),不支持的也可以通過網上或自己編寫的插件進行擴展;Postman是輕量級的,定位也不同,可用來測試http接口和Rest接口。

(3)流程控制

Jmeter支持Switch控制器、If控制器、隨機控制器等一系列控制器實現流程控制,以及Beanshell腳本;Postman則需要通過JavaScript腳本控制

(4)斷言

Jmeter中的TestPlan、Threads Group和Sampler均可添加斷言;Postman的HTTP請求的Tests中可添加斷言。

(5)腳本擴展能力

Jmeter支持用java語言編寫的Bean shell;Postman支持使用JavaScript語言編寫的腳本

(6)團隊協作

Jmeter的一個TestPlan就是一個jmx(xml)文件,無法分割,但是Jmeter有一個合併的功能,允許將多個文件合併在一起。只能每個團隊成員自己建立一個TestPlan,分功能塊進行測試,最後整理合併;Postman雖然有團隊協作的功能,但是需要付費。

Jmeter和Postman都還支持數據參數化、自定義變量、顯示日誌等功能。其中重點要說的是Jmeter還可以在無界面的Linux環境進行壓力測試、性能測試;以便分析系統的瓶頸;Jmeter的功能覆蓋了Postman的所有功能,所以強烈推薦使用Jmeter。

常用遠程連接工具

做開發是國內程序員大部分都是在windows環境開發,但是開發完畢後,免不了需要部署到服務器(Liunx);特別是Java開發的程序,幾乎都是部署在Unix或者Linux系統,而Unix和Liunx系統是無界面的系統。如何把程序部署到遠程的Unix或者Linux服務呢?這時候遠程連接工具就派上用場了。這裡特別提一下如果做得是銀行項目,遠程連接工具是常伴左右的。

1、SecureCRT和SecureFX

SecureCRT是一款支持SSH協議(SSH1和SSH2)的終端仿真程序,簡單地說是Windows下登錄UNIX或Linux服務器主機的軟件;SecureFX是對應的文件上傳工具,使用SecureFX可以讓我們使用SSH協議上傳文件到遠程服務器。

「乾貨」Java 程序員開發常用的工具(全)


「乾貨」Java 程序員開發常用的工具(全)


2、Xshell和Xftp

Xshell是一個功能強大的終端模擬器,支持SSH、SFTP、TELNET、遠程登錄命令連接; Xftp是一個靈活和輕量級SFTP / FTP客戶端用戶需要安全地通過網絡傳輸文件。它提供了強大的功能,如直接編輯多個窗格、文件夾同步、他們支持服務器到服務器轉移和第三方編輯器集成。

「乾貨」Java 程序員開發常用的工具(全)


「乾貨」Java 程序員開發常用的工具(全)


遠程連接和文件上傳工具筆者最常用的就是這兩款,有這任何一款都足以滿足我們日常工作的需要了。如果只想上傳文件話也可以使用Total Commander;如果只想遠程連接的話也可以使用Putty.exe,這個遠程連接工具非常小巧,而且免費使用。

「乾貨」Java 程序員開發常用的工具(全)


一些其他常用工具

  • 文本編輯工具Notepad++和UltraEdit
  • 對比工具beyond compare

使用場景:在進行版本上線時,有時需要對比一下生產版本與現在馬上需要投產的版本有什麼區別就需要用到該工具了,該工具提供了非常強大的對比功能。

「乾貨」Java 程序員開發常用的工具(全)


  • 反編譯工具JD-GUI和JD-Eclipse

使用場景:有時開發的代碼某個接口在開發環境是好好的,跑的沒有任何問題和紕漏;但是UAT環境或者準生產環境(部署人員確認已經部署了對應的接口),如果開發人員需要進一步確認部署人員正在部署了Jar包,這時反編譯工具就派上用場了,開發人員可以在UAT環境或者準生產環境獲取相應的Jar包,然後反編譯看看相應接口的邏輯跟開發環境的是否一致。

「乾貨」Java 程序員開發常用的工具(全)


  • 快速啟動工具TypeAndRun

TypeAndRun (TAR) 是一個可以用熱鍵呼出的控制檯,從這個控制檯上可以運行任何程序、打開各類文檔、URL、電子郵件和文件目錄。除了可以方便的為自己的常用程序建立別名,TypeAndRun也內置了大量“系統別名”用自定義的快捷鍵調出命令行後,輸入別名即可執行相應操作。而且TypeAndRun 可以為已經建立的別名自動補全,無需記住全部名稱。也不用像一些快捷鍵工具一樣要記住那麼多快捷鍵。這個工具是我極力推薦給廣大開發人員的,使用了它就不需要打開“我的電腦”每次都使用鼠標雙擊了。

「乾貨」Java 程序員開發常用的工具(全)


  • Source Insight

Source Insight是一個面向項目開發的程序編輯器和代碼瀏覽器,它擁有內置的對C/C++,C#和Java等程序的分析。SourceInsight能分析你的源代碼並在你工作的同時動態維護它自己的符號數據庫,並自動為你顯示有用的上下文信息。

使用場景:如果想在大量Java代碼中搜索某些關鍵字,使用Source Insight工具可以非常快速找到相應的關鍵字;同時Source Insight支持Java關鍵字的高亮功能。

「乾貨」Java 程序員開發常用的工具(全)


  • MySQL連接工具SQLyog

使用場景:SQLyog是一款小巧的、連接mysql數據庫的圖形化工具。使用SQLyog主要方便開發人員操作mysql數據庫,他提供了補全、關鍵字高亮、格式化sql語句等功能,在同類mysql圖形界面工具中相當好用。

「乾貨」Java 程序員開發常用的工具(全)


總 結

以上推薦了十幾款軟件,涉及到開發工具、接口測試工具、遠程連接工具、文本工具、數據庫連接工具等等。這些工具有免費開源的;有商用收費的(如何長期使用自己想辦法哦!!)。在小公司使用以上的這些工具能滿足程序員百分之八十的開發需要。這裡的工具沒有涉及到UML工具、原型工具、項目管理工具等。


分享到:


相關文章: