1、常用開(kāi)發(fā)工具
2癌蚁、常用接口測(cè)試工具
3幻梯、常用遠(yuǎn)程連接工具
4、一些其他常用工具
5努释、總結(jié)
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)的。
交流分享+ qun 479749726
?
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)要门。可以說(shuō)Postman滿足了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ù)器。
?
交流分享+ qun 479749726
?
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)程連接和文件上傳工具筆者最常用的就是這兩款抗果,有這任何一款都足以滿足我們?nèi)粘9ぷ鞯男枰私钐H绻幌肷蟼魑募捯部梢允褂肨otal Commander;如果只想遠(yuǎn)程連接的話也可以使用Putty.exe冤馏,這個(gè)遠(yuǎn)程連接工具非常小巧日麸,而且免費(fèi)使用。
?
4逮光、一些其他常用工具
文本編輯工具Notepad++和UltraEdit
對(duì)比工具beyond compare
使用場(chǎng)景:在進(jìn)行版本上線時(shí)代箭,有時(shí)需要對(duì)比一下生產(chǎn)版本與現(xiàn)在馬上需要投產(chǎn)的版本有什么區(qū)別就需要用到該工具了,該工具提供了非常強(qiáng)大的對(duì)比功能涕刚。
交流分享+ qun 479749726
?
反編譯工具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)期使用自己想辦法哦!4镏贰)虱疏。在小公司使用以上的這些工具能滿足程序員百分之八十的開(kāi)發(fā)需要。這里的工具沒(méi)有涉及到UML工具苏携、原型工具、項(xiàng)目管理工具等对粪。
注:獲取編程軟件右冻,請(qǐng) +qun 479749726