作者:LJXZDN
鏈接:https://blog.csdn.net/LJXZDN/article/details/79246337
1、常用開(kāi)發(fā)工具
作為一名Java程序開(kāi)發(fā)人員,可以的選擇集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment)非常多,得益于Java是一門(mén)開(kāi)源語(yǔ)言。有開(kāi)源免費(fèi)的;有商用收費(fèi)的。如何選擇一款適合自己的集成開(kāi)發(fā)環(huán)境,亦或說(shuō)選擇一款符合自己項(xiàng)目開(kāi)發(fā)需要的集成開(kāi)發(fā)環(huán)境。如果選擇得當(dāng),那么就能夠使得開(kāi)發(fā)工作事半功倍;否則事倍而功半。
免費(fèi)開(kāi)源eclipse
Eclipse最初是由IBM公司開(kāi)發(fā)的替代商業(yè)軟件Visual Age for Java的下一代IDE開(kāi)發(fā)環(huán)境,2001年11月貢獻(xiàn)給開(kāi)源社區(qū),現(xiàn)在它由非營(yíng)利軟件供應(yīng)商聯(lián)盟Eclipse基金會(huì)(Eclipse Foundation)管理。Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具(Java Development Tools,JDT)。
Eclipse是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái)Java語(yǔ)言開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比如C 、PHP、Python等語(yǔ)言的開(kāi)發(fā)工具。Eclipse的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開(kāi)發(fā)商以Eclipse為框架開(kāi)發(fā)自己的IDE。
商用收費(fèi)MyEclipse(中國(guó),官網(wǎng))
MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開(kāi)發(fā)環(huán)境,由Genuitec公司發(fā)布,它是商用收費(fèi)的。
MyEclipse 是對(duì)Eclipse IDE的擴(kuò)展,利用它可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、Javascript、SQL,Hibernate,Spring。
Oracle公司免費(fèi)的NetBeans
NetBeans是Sun公司(2009年被甲骨文收購(gòu))在2000年創(chuàng)立的開(kāi)放源代碼供開(kāi)發(fā)人員和客戶(hù)社區(qū)的家園,旨在構(gòu)建世界級(jí)的Java IDE。
NetBeans當(dāng)前可以在Solaris、Windows、Linux和Macintosh OS X平臺(tái)上進(jìn)行開(kāi)發(fā),并在SPL(Sun公用許可)范圍內(nèi)使用,是一個(gè)屢獲殊榮的集成開(kāi)發(fā)環(huán)境。NetBeans包括開(kāi)源的開(kāi)發(fā)環(huán)境和應(yīng)用平臺(tái),NetBeans IDE可以使開(kāi)發(fā)人員利用Java平臺(tái)能夠快速創(chuàng)建Web、企業(yè)、桌面以及移動(dòng)的應(yīng)用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C 等開(kāi)發(fā)語(yǔ)言。
NetBeans項(xiàng)目由一個(gè)活躍的開(kāi)發(fā)社區(qū)提供支持, NetBean開(kāi)發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
IntelliJ IDEA
IntelliJ IDEA是一款綜合的Java 編程環(huán)境,被許多開(kāi)發(fā)人員和行業(yè)專(zhuān)家譽(yù)為市場(chǎng)上最好的IDE。它提供了一系列最實(shí)用的的工具組合:智能編碼輔助和自動(dòng)控制,支持J2EE,Ant,JUnit,SVN和Git集成,非平行的編碼檢查和創(chuàng)新的GUI設(shè)計(jì)器。IDEA把Java開(kāi)發(fā)人員從一些耗時(shí)的常規(guī)工作中解放出來(lái),顯著地提高了開(kāi)發(fā)效率。具有運(yùn)行更快速,生成更好的代碼;持續(xù)的重新設(shè)計(jì)和日常編碼變得更加簡(jiǎn)易,與其它工具的完美集成;很高的性?xún)r(jià)比等特點(diǎn)。IntelliJ IDEA以前是收費(fèi)軟件,不過(guò)在2009年以后就開(kāi)始推出了免費(fèi)的社區(qū)開(kāi)源版本。不過(guò)商用還是需要收費(fèi)的。
Eclipse、MyEclipse、NetBeans和IntelliJ IDEA的特點(diǎn)和適用場(chǎng)景:
Eclipse、MyEclipse、NetBeans和IntelliJ IDEA這四個(gè)IDE有著不同的特性和優(yōu)點(diǎn),根據(jù)開(kāi)發(fā)的不同可能需要選擇不同的IDE。在Java開(kāi)發(fā)的每個(gè)方面,這四個(gè)IDE都能勝任工作,然而根據(jù)你所做的不同開(kāi)發(fā)例如Swing開(kāi)發(fā),web開(kāi)發(fā)或者企業(yè)開(kāi)發(fā),選擇IDE就有所偏向。
- Swing開(kāi)發(fā):
如果你專(zhuān)門(mén)從事Swing開(kāi)發(fā),NetBeans無(wú)疑是最好的選擇,如果你沒(méi)有選擇NetBeans而是選擇了Eclipse,建議使用MyEclipse 和它的Matisse4Eclipse構(gòu)造器。IDEA由于對(duì)JGoodies Forms的支持,所以在開(kāi)發(fā)Swing方面與前兩者相比并不占有優(yōu)勢(shì)。
- JSP/Struts開(kāi)發(fā):
開(kāi)發(fā)JSP/Struts首選的是IDEA,接下來(lái)是MyEclipse,然后是NetBeans,由于缺少對(duì)內(nèi)建Struts的支持,Eclipse的基本版本沒(méi)有競(jìng)爭(zhēng)優(yōu)勢(shì)。
- JSF開(kāi)發(fā):
在開(kāi)發(fā)JSF方面,這三個(gè)IDE可以說(shuō)都是很好的選擇,但是IDEA可能會(huì)更好一點(diǎn),接下來(lái)是Eclipse/MyEclipse,最后是NetBeans。
- 企業(yè)開(kāi)發(fā):
由于NetBeans對(duì)JPA的支持和它產(chǎn)生代碼的質(zhì)量以及對(duì)持久化單元合適的設(shè)置,所以在企業(yè)開(kāi)發(fā)方面,NetBeans是首選,接下來(lái)是IDEA,由于Eclipse的Dali項(xiàng)目的限制,Eclipse可能是最后選擇的。如果放棄標(biāo)準(zhǔn)的JPA,從事Hibernate開(kāi)發(fā),MyEclipse是最好的選擇。
除了上面提到的這四款由大公司開(kāi)發(fā)的IDE外,JAVA開(kāi)發(fā)的IDE還有很多,例如Spring基于eclipse推出的STS(Spring Tool Suite)、小而且快JCreator,但是以上最常用的eclipse和IntelliJ IDEA。國(guó)內(nèi)Java開(kāi)發(fā)人員使用的最多也是eclipse和IntelliJ IDEA。筆者用的最多是eclipse及Spring基于eclipse推出的STS。如果在使用中遇到什么可以無(wú)時(shí)無(wú)刻咨詢(xún)。
2、常用接口測(cè)試工具
作為一名開(kāi)發(fā)人員,完成開(kāi)發(fā)工作后,單元測(cè)試及接口測(cè)試必不可少。單元測(cè)試不用說(shuō)了,Java人員幾乎都是使用JUnit及JUnit相關(guān)的測(cè)試框架。對(duì)于接口測(cè)試呢?有什么工具可以使用呢?在說(shuō)工具之前先來(lái)了解兩個(gè)問(wèn)題。
什么是接口測(cè)試?
用來(lái)檢查各個(gè)組件的接口的測(cè)試,接口測(cè)試主要檢查外部系統(tǒng)與系統(tǒng)之間以及各個(gè)子系統(tǒng)之間的交互點(diǎn),測(cè)試的重點(diǎn)在數(shù)據(jù)的傳遞上。
為什么要做接口測(cè)試?
如果項(xiàng)目全部推行單元測(cè)試,時(shí)間上不允許,而接口測(cè)試是一種特殊的單元測(cè)試,覆蓋率沒(méi)有做到所謂的單元測(cè)試的百分之百,不過(guò)覆蓋了所有的面像用戶(hù)的功能點(diǎn),而且接口測(cè)試可以采用自動(dòng)化 持續(xù)集成的方式,節(jié)約時(shí)間了成本,同時(shí)提高了效率。
java第三方包httpclient
如果使用httpclient進(jìn)行接口測(cè)試,免不了開(kāi)發(fā)人員還需要自己動(dòng)手去編寫(xiě)代碼,這個(gè)不是首選方案。筆者也不推薦這個(gè)方案,增加了程序人員的工作強(qiáng)度。
Postman
Postman是一款功能非常棒的Chrome擴(kuò)展,提供功能強(qiáng)大的API&HTTP請(qǐng)求調(diào)試。它可以發(fā)送幾乎所有類(lèi)型的HTTP請(qǐng)求,并可以附帶任何數(shù)量的參數(shù)和請(qǐng)求頭(headers)??梢哉f(shuō)Postman滿(mǎn)足了HTTP接口測(cè)試的大部分功能,只有少部分的功能不被支持,比如:請(qǐng)求流程的控制;使得程序員可以在編寫(xiě)一些單元測(cè)試中解脫出來(lái)。
Postman特點(diǎn):
- 支持用例管理
- 支持get、post、文件上傳、響應(yīng)驗(yàn)證、變量管理、環(huán)境參數(shù)管理等功能
- 支持批量運(yùn)行
- 支持用例導(dǎo)出、導(dǎo)入
- 支持云端保存用例【付費(fèi)用戶(hù)】
推薦文章
JMeter
Apache JMeter是Apache組織開(kāi)發(fā)的壓力測(cè)試工具,也是目前應(yīng)用最廣泛的開(kāi)源性能測(cè)試工具之一。它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域。像其他性能測(cè)試工具一樣,JMeter可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,來(lái)測(cè)試不同壓力類(lèi)別下應(yīng)用系統(tǒng)的強(qiáng)度,分析應(yīng)用系統(tǒng)的整體性能。JMeter由100% JAVA開(kāi)發(fā),開(kāi)源,具備完全的可移植性;采用Swing界面和輕量組件支持包;支持插件擴(kuò)展,可以通過(guò)擴(kuò)展插件支持新的協(xié)議,監(jiān)控系統(tǒng)資源,展示更豐富的性能圖表等。企業(yè)能夠在JMeter的基礎(chǔ)上實(shí)現(xiàn)二次開(kāi)發(fā),擴(kuò)展JMeter的功能為己所用。不過(guò)要記住Jmeter由JAVA開(kāi)發(fā),安裝Jmeter之前需要先安裝JDK。Jmeter功能非常強(qiáng)大是筆者最喜歡的接口測(cè)試工具,沒(méi)有之一。
Postman和Jmeter特點(diǎn):
(1)測(cè)試用例組織形式
Jmeter和Postman的測(cè)試用例組織形式都比較扁平,Jmeter通過(guò)測(cè)試計(jì)劃(TestPlan)來(lái)組織測(cè)試用例;Postman主要通過(guò)集合(Collection)來(lái)組織測(cè)試用例。
(2)支持的接口類(lèi)型與測(cè)試類(lèi)型
從功能上Jmeter最為強(qiáng)大,可以測(cè)試各種類(lèi)型的接口(包括Http、數(shù)據(jù)庫(kù)、webservice、ftp等),不支持的也可以通過(guò)網(wǎng)上或自己編寫(xiě)的插件進(jìn)行擴(kuò)展;Postman是輕量級(jí)的,定位也不同,可用來(lái)測(cè)試http接口和Rest接口。
(3)流程控制
Jmeter支持Switch控制器、If控制器、隨機(jī)控制器等一系列控制器實(shí)現(xiàn)流程控制,以及Beanshell腳本;Postman則需要通過(guò)JavaScript腳本控制
(4)斷言
Jmeter中的TestPlan、Threads Group和Sampler均可添加斷言;Postman的HTTP請(qǐng)求的Tests中可添加斷言。
(5)腳本擴(kuò)展能力
Jmeter支持用java語(yǔ)言編寫(xiě)的Bean shell;Postman支持使用JavaScript語(yǔ)言編寫(xiě)的腳本
(6)團(tuán)隊(duì)協(xié)作
Jmeter的一個(gè)TestPlan就是一個(gè)jmx(xml)文件,無(wú)法分割,但是Jmeter有一個(gè)合并的功能,允許將多個(gè)文件合并在一起。只能每個(gè)團(tuán)隊(duì)成員自己建立一個(gè)TestPlan,分功能塊進(jìn)行測(cè)試,最后整理合并;Postman雖然有團(tuán)隊(duì)協(xié)作的功能,但是需要付費(fèi)。
Jmeter和Postman都還支持?jǐn)?shù)據(jù)參數(shù)化、自定義變量、顯示日志等功能。其中重點(diǎn)要說(shuō)的是Jmeter還可以在無(wú)界面的Linux環(huán)境進(jìn)行壓力測(cè)試、性能測(cè)試;以便分析系統(tǒng)的瓶頸;Jmeter的功能覆蓋了Postman的所有功能,所以強(qiáng)烈推薦使用Jmeter。
3、常用遠(yuǎn)程連接工具
做開(kāi)發(fā)是國(guó)內(nèi)程序員大部分都是在windows環(huán)境開(kāi)發(fā),但是開(kāi)發(fā)完畢后,免不了需要部署到服務(wù)器(Liunx);特別是Java開(kāi)發(fā)的程序,幾乎都是部署在Unix或者Linux系統(tǒng),而Unix和Liunx系統(tǒng)是無(wú)界面的系統(tǒng)。如何把程序部署到遠(yuǎn)程的Unix或者Linux服務(wù)呢?這時(shí)候遠(yuǎn)程連接工具就派上用場(chǎng)了。這里特別提一下如果做得是銀行項(xiàng)目,遠(yuǎn)程連接工具是常伴左右的。
SecureCRT和SecureFX
SecureCRT是一款支持SSH協(xié)議(SSH1和SSH2)的終端仿真程序,簡(jiǎn)單地說(shuō)是Windows下登錄UNIX或Linux服務(wù)器主機(jī)的軟件;SecureFX是對(duì)應(yīng)的文件上傳工具,使用SecureFX可以讓我們使用SSH協(xié)議上傳文件到遠(yuǎn)程服務(wù)器。
Xshell和Xftp
Xshell是一個(gè)功能強(qiáng)大的終端模擬器,支持SSH、SFTP、TELNET、遠(yuǎn)程登錄命令連接;Xftp是一個(gè)靈活和輕量級(jí)SFTP / FTP客戶(hù)端用戶(hù)需要安全地通過(guò)網(wǎng)絡(luò)傳輸文件。它提供了強(qiáng)大的功能,如直接編輯多個(gè)窗格、文件夾同步、他們支持服務(wù)器到服務(wù)器轉(zhuǎn)移和第三方編輯器集成。
遠(yuǎn)程連接和文件上傳工具筆者最常用的就是這兩款,有這任何一款都足以滿(mǎn)足我們?nèi)粘9ぷ鞯男枰?。如果只想上傳文件?huà)也可以使用Total Commander;如果只想遠(yuǎn)程連接的話(huà)也可以使用Putty.exe,這個(gè)遠(yuǎn)程連接工具非常小巧,而且免費(fèi)使用。
4、一些其他常用工具
文本編輯工具Notepad 和UltraEdit
對(duì)比工具beyond compare
使用場(chǎng)景:在進(jìn)行版本上線(xiàn)時(shí),有時(shí)需要對(duì)比一下生產(chǎn)版本與現(xiàn)在馬上需要投產(chǎn)的版本有什么區(qū)別就需要用到該工具了,該工具提供了非常強(qiáng)大的對(duì)比功能。
反編譯工具JD-GUI和JD-Eclipse
使用場(chǎng)景:有時(shí)開(kāi)發(fā)的代碼某個(gè)接口在開(kāi)發(fā)環(huán)境是好好的,跑的沒(méi)有任何問(wèn)題和紕漏;但是UAT環(huán)境或者準(zhǔn)生產(chǎn)環(huán)境(部署人員確認(rèn)已經(jīng)部署了對(duì)應(yīng)的接口),如果開(kāi)發(fā)人員需要進(jìn)一步確認(rèn)部署人員正在部署了Jar包,這時(shí)反編譯工具就派上用場(chǎng)了,開(kāi)發(fā)人員可以在UAT環(huán)境或者準(zhǔn)生產(chǎn)環(huán)境獲取相應(yīng)的Jar包,然后反編譯看看相應(yīng)接口的邏輯跟開(kāi)發(fā)環(huán)境的是否一致。
快速啟動(dòng)工具TypeAndRun
TypeAndRun (TAR) 是一個(gè)可以用熱鍵呼出的控制臺(tái),從這個(gè)控制臺(tái)上可以運(yùn)行任何程序、打開(kāi)各類(lèi)文檔、URL、電子郵件和文件目錄。除了可以方便的為自己的常用程序建立別名,TypeAndRun也內(nèi)置了大量“系統(tǒng)別名”用自定義的快捷鍵調(diào)出命令行后,輸入別名即可執(zhí)行相應(yīng)操作。而且TypeAndRun 可以為已經(jīng)建立的別名自動(dòng)補(bǔ)全,無(wú)需記住全部名稱(chēng)。也不用像一些快捷鍵工具一樣要記住那么多快捷鍵。這個(gè)工具是我極力推薦給廣大開(kāi)發(fā)人員的,使用了它就不需要打開(kāi)“我的電腦”每次都使用鼠標(biāo)雙擊了。
Source Insight
Source Insight是一個(gè)面向項(xiàng)目開(kāi)發(fā)的程序編輯器和代碼瀏覽器,它擁有內(nèi)置的對(duì)C/C ,C#和Java等程序的分析。SourceInsight能分析你的源代碼并在你工作的同時(shí)動(dòng)態(tài)維護(hù)它自己的符號(hào)數(shù)據(jù)庫(kù),并自動(dòng)為你顯示有用的上下文信息。
使用場(chǎng)景:如果想在大量Java代碼中搜索某些關(guān)鍵字,使用Source Insight工具可以非??焖僬业较鄳?yīng)的關(guān)鍵字;同時(shí)Source Insight支持Java關(guān)鍵字的高亮功能。
MySQL連接工具SQLyog
使用場(chǎng)景:SQLyog是一款小巧的、連接mysql數(shù)據(jù)庫(kù)的圖形化工具。使用SQLyog主要方便開(kāi)發(fā)人員操作mysql數(shù)據(jù)庫(kù),他提供了補(bǔ)全、關(guān)鍵字高亮、格式化sql語(yǔ)句等功能,在同類(lèi)mysql圖形界面工具中相當(dāng)好用。
5、總結(jié)
以上推薦了十幾款軟件,涉及到開(kāi)發(fā)工具、接口測(cè)試工具、遠(yuǎn)程連接工具、文本工具、數(shù)據(jù)庫(kù)連接工具等等。這些工具有免費(fèi)開(kāi)源的;有商用收費(fèi)的(任何長(zhǎng)期使用自己想辦法哦?。。?。在小公司使用以上的這些工具能滿(mǎn)足程序員百分之八十的開(kāi)發(fā)需要。這里的工具沒(méi)有涉及到UML工具、原型工具、項(xiàng)目管理工具等。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。