第一篇:Java程序員需要了解的8個(gè)Java開發(fā)工具
Java程序員需要了解的8個(gè)Java開發(fā)工具
Java是計(jì)算機(jī)應(yīng)用程序編程語言,被廣泛用于創(chuàng)建Web應(yīng)用、服務(wù)器處理、用戶端的API開發(fā)乃至數(shù)據(jù)庫等多個(gè)領(lǐng)域。下面厚學(xué)網(wǎng)小編列出了8個(gè)有助于你開發(fā)Java應(yīng)用程序好的Java工具。
1.SparkJava 這是一款體形輕巧,功能強(qiáng)大的Web應(yīng)用框架。Spark擁有簡單而直接的方法。您可以通過一些繁瑣的XML配置來使用Spark框架編寫應(yīng)用程序。Spark能讓你花費(fèi)很少的精力來開發(fā)Java的Web應(yīng)用程序。
2.jClarity jClarity是兩款產(chǎn)品的結(jié)合:illuminate用于性能監(jiān)控,而census則可以收集日志和分析數(shù)據(jù)。jClarity支持云集成,并且其框架緊湊輕巧。
3.Clover Clover是用于代碼覆蓋的一大利器。該工具有助于用于應(yīng)用程序測(cè)試的代碼。我們可以在IDE或持續(xù)集成系統(tǒng)中運(yùn)行Clover。該工具能讓測(cè)試的運(yùn)行速度更快。
4.JProfiler JProfiler擁有直觀的用戶界面,可以幫助你解決性能瓶頸和理解問題。JProfiler能讓你輕松約束內(nèi)存泄漏和修復(fù)線程的問題。
5.VisualVM VisualVM是一個(gè)集多功能于一身的Java故障排除工具。你可以使用VisualVM整合多命令行JDK工具。此輕便的工具有著驚人的分析能力。你可以在各種技術(shù),如jvmstat、JMX和Serviceability Agent(SA)中使用VisualVM。VisualVM出名的是附加了API,以獲得更多的數(shù)據(jù),以及自動(dòng)使用更快捷。
6.Elasticsearch Elasticsearch提供了可以整合現(xiàn)有的應(yīng)用程序來驅(qū)動(dòng)其與輸入數(shù)據(jù)的交互的工具。這款開源工具提供了實(shí)時(shí)搜索和分析引擎。Elasticsearch可用于可靠性和可擴(kuò)展性作為重要因素的分布式環(huán)境。該工具提供了超簡單的全文搜索體驗(yàn)。
7.Sonarqube
Sonarqube是一個(gè)用來管理代碼質(zhì)量的開放式平臺(tái)。基于Web的應(yīng)用程序可以與Java應(yīng)用程序進(jìn)行配置。它提供了規(guī)則、警報(bào)、閾值、排除和設(shè)置功能。SonarQube允許用戶將指標(biāo)結(jié)合在一起,以及使用歷史的措施混合。
8.Takipi Takipi是一個(gè)輕量級(jí)的Java代理。Takipi安裝方便,用不了幾分鐘就可以搞定。它對(duì)代碼注釋或配置并沒有要求。你可以使用一臺(tái)具有完全功能的服務(wù)器與Takipi工作。此款 Java工具能幫助你減少調(diào)試時(shí)間。
總結(jié)
對(duì)于想學(xué)習(xí)Java的朋友來說,比較快的方式當(dāng)然是結(jié)合自身實(shí)際情況找一家專業(yè)的培訓(xùn)機(jī)構(gòu)來進(jìn)行系統(tǒng)有效的學(xué)習(xí),對(duì)此,小編推薦您可以訪問厚學(xué)網(wǎng)(004km.cn)來了解各大知名培訓(xùn)機(jī)構(gòu)的詳細(xì)情況,為自己的選擇保駕護(hù)航;目前厚學(xué)網(wǎng)共計(jì)入駐了多家IT領(lǐng)域的知名培訓(xùn)機(jī)構(gòu),如:被北大青鳥、達(dá)內(nèi)、上海藍(lán)鷗、閣瑞鈦倫特軟件培訓(xùn)等,在讓客戶了解全面的課程信息及真實(shí)用戶評(píng)價(jià)的同時(shí),也讓客戶能夠更放心,省心的選擇到想學(xué)的課程,希望小編的傾力推薦能夠?qū)δ倪x擇有所幫助,期待您早日學(xué)有所成,加油!
第二篇:Java程序員必須掌握的開發(fā)工具
Java程序員必須掌握的開發(fā)工具
以下的開發(fā)工具,能幫助你成為一名高級(jí)java程序開發(fā)人員。
1.Eclipse
盡管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有調(diào)查表明,Eclipse仍然是幾乎半數(shù)Java開發(fā)人員首選的開發(fā)環(huán)境。Eclipse是IDE領(lǐng)域的瑞士軍刀,有著大量定制的接口和無數(shù)的插件。它無處不在,后面本文將推薦的其他所有工具都提供Eclipse插件。這也是八維必講的開發(fā)工具。
Eclipse的工作流程可分為三個(gè)方面:工作臺(tái),工作空間和視角。工作臺(tái)作為到IDE的出發(fā)點(diǎn)。工作空間將項(xiàng)目、文件和配置設(shè)置組合在一個(gè)單獨(dú)的 目錄下。視角定義工具、視圖和有效設(shè)置。雖然新手開發(fā)人員可能會(huì)覺得相比Netbeans和IntelliJ IDEA,Eclipse使用起來更難,但Eclipse的靈活性,使其成為企業(yè)開發(fā)的首選IDE。
Luna,Eclipse的最新版本,支持Java
8、分屏編輯、新的黑色主題,以及一個(gè)功能齊全的命令行終端。
2.Gradle
Gradle是一個(gè)自動(dòng)化項(xiàng)目工具,建立在Apache Maven和Apache Ant的功能上。雖然Gradle并不是最流行的構(gòu)建工具(最流行的是Maven,64%的Java開發(fā)人員會(huì)選擇它),但它的普及速度很快。它也可作為默認(rèn)的Android構(gòu)建工具。
Gradle引以為傲的是它的簡單。Gradle使用Groovy編程語言,與Maven和Ant使用XML語法截然相反。
3.Javadoc
Javadoc是Oracle提供的文檔生成器。它可以將特殊格式的注釋解析為HTML文檔。
Javadoc注釋使用開放標(biāo)簽、關(guān)閉標(biāo)簽,以及一個(gè)或多個(gè)描述性標(biāo)簽的格式。開放式標(biāo)簽類似于標(biāo)準(zhǔn)Java多行注釋標(biāo)記,使用兩個(gè)星號(hào)的除外。Javadoc也解析普通的HTML標(biāo)簽。
Javadoc自動(dòng)格式化標(biāo)簽和關(guān)鍵字,除非另有規(guī)定。Javadoc廣泛使用超鏈接,允許你參考和鏈接到代碼的不同區(qū)域。許多IDE--包括 Eclipse--可以自動(dòng)添加Javadoc注釋模塊到變量、類和方法中。支持Maven、Gradle和Ant的插件在編譯代碼的同時(shí)也可以構(gòu)建 Javadoc HTML。
4.JUnit
JUnit是用于編寫和運(yùn)行單元測(cè)試的開源框架。一個(gè)基本的JUnit測(cè)試包括測(cè)試類、測(cè)試方法、以及執(zhí)行測(cè)試的功能。JUnit使用標(biāo)注來確定測(cè)試如何構(gòu)造和運(yùn)行。例如,如果你的程序有一個(gè)類叫做MathClass,具有乘法和除法的方法,你可以創(chuàng)建JUnit測(cè)試來檢 查不符合預(yù)期的值。輸入數(shù)字2和5到乘法方法,你希望得到的結(jié)果為10。當(dāng)輸入0作為除法方法的第二個(gè)參數(shù)時(shí),你會(huì)期望給出一個(gè)數(shù)字計(jì)算異常的警告因?yàn)槌?數(shù)不能為0:
@Test標(biāo)注規(guī)定,MathClass方法是一個(gè)測(cè)試用例。在JUnit提供額外的標(biāo)注,比如@Before,這樣你就可以在測(cè)試運(yùn)行之前設(shè)置環(huán)境。JUnit還可以設(shè)置規(guī)則用于定義測(cè)試方法的行為。例如,TemporaryFolder規(guī)則使得一旦測(cè)試完成,由測(cè)試創(chuàng)建的文件或文件夾就會(huì)被刪除。
5.Cobertura
Cobertura可用于分析Java代碼的測(cè)試覆蓋率。Cobertura根據(jù)沒有被測(cè)試覆蓋的代碼生成基于HTML的報(bào)告。
Cobertura提供可用于插裝、檢查和測(cè)試代碼的工具。通過監(jiān)控可測(cè)試的代碼,Cobertura允許你使用你選擇的測(cè)試框架,甚至不需要測(cè)試框架就可以運(yùn)行程序。
Cobertura根據(jù)行、分支和程序包三個(gè)方面給出代碼覆蓋報(bào)告。每個(gè)類別都有一個(gè)可自定義的閾值,如果覆蓋面低于閾值,就會(huì)觸發(fā)警告。Cobertura還集成了Maven和Gradle 的自動(dòng)檢測(cè)功能。
6.FindBugs
FindBugs是一個(gè)匹配編譯代碼模式,而非使用bug數(shù)據(jù)庫的工具。當(dāng)提供源代碼時(shí),F(xiàn)indBugs還可高亮顯示檢測(cè)出bug的代碼行。
在它的3.0.1版本中,F(xiàn)indBugs繼續(xù)保持著數(shù)以百計(jì)的bug描述。根據(jù)bug的嚴(yán)重程度,F(xiàn)indBugs將bug分為四個(gè)水平:相關(guān) 的,令人困擾的,可怕的,以及最可怕的。除了圖形用戶界面,F(xiàn)indBugs還提供一個(gè)命令行界面,Ant任務(wù),以及Eclipse插件。
7.VisualVM
包含在JDK中的VisualVM是監(jiān)控和審查Java應(yīng)用程序性能的工具。VisualVM檢測(cè)并重視活躍的JVM實(shí)例來檢索有關(guān)進(jìn)程的診斷信息。
VisualVM可以很容易地實(shí)時(shí)診斷性能問題。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你還可以對(duì)JVM做一個(gè)快照,這樣以后在任何時(shí)都能審查。
8.Groovy
Groovy是一種編程語言,通過添加新的關(guān)鍵字,自動(dòng)導(dǎo)入常用的類,以及可選類型變量聲明,既簡化又?jǐn)U展了Java。
Groovy的核心優(yōu)勢(shì)之一是它的腳本功能。類可以被編譯為Java字節(jié)碼或使用Groovy Shell動(dòng)態(tài)執(zhí)行。Groovy的Java基礎(chǔ)使得它相較于Jython和JRuby更容易為Java開發(fā)人員所接受。
第三篇:Java程序員實(shí)用不離手的八大開發(fā)工具
扣丁學(xué)堂 Codingke.com 以下這8個(gè)工具,從代碼構(gòu)建到錯(cuò)誤擠壓,覆蓋Java開發(fā)的全域。
學(xué)習(xí)這些工具可以幫助你改善代碼質(zhì)量,成為一個(gè)更高效的Java開發(fā)人員。每個(gè)工具都有其優(yōu)點(diǎn),但其中有一些因它的知名度、多功能性和有效性從眾多選項(xiàng)中脫穎而出。
loading...以下這8個(gè)工具,從代碼構(gòu)建到錯(cuò)誤擠壓,覆蓋Java開發(fā)的全域。學(xué)習(xí)這些工具可以幫助你改善代碼質(zhì)量,成為一個(gè)更高效的Java開發(fā)人員。
1.Eclipse盡管IntelliJ IDEA、NetBeans和一些其他的IDE正在日益普及,但是有調(diào)查表明,Eclipse仍然是幾乎半數(shù)Java開發(fā)人員首選的開發(fā)環(huán)境。
Eclipse是IDE領(lǐng)域的瑞士軍刀,有著大量定制的接口和無數(shù)的插件。它無處不在,后面本文將推薦的其他所有工具都提供Eclipse插件。
Eclipse的工作流程可分為三個(gè)方面:工作臺(tái),工作空間和視角。工作臺(tái)作為到IDE的出發(fā)點(diǎn)。工作空間將項(xiàng)目、文件和配置設(shè)置組合在一個(gè)單獨(dú)的 目錄下。視角定義工具、視圖和有效設(shè)置。雖然新手開發(fā)人員可能會(huì)覺得相比Netbeans和IntelliJ IDEA,Eclipse使用起來更難,但Eclipse的靈活性,使其成為企業(yè)開發(fā)的首選IDE。
Luna,Eclipse的最新版本,支持Java
8、分屏編輯、新的黑色主題,以及一個(gè)功能齊全的命令行終端。
2.GradleGradle是一個(gè)自動(dòng)化項(xiàng)目工具,建立在Apache Maven和Apache Ant的功能上。雖然Gradle并不是最流行的構(gòu)建工具(最流行的是Maven,64%的Java開發(fā)人員會(huì)選擇它),但它的普及速度很快。它也可作為默認(rèn)的Android構(gòu)建工具。
Gradle引以為傲的是它的簡單。Gradle使用Groovy編程語言,與Maven和Ant使用XML語法截然相反。一個(gè)基本的Gradle構(gòu)建文件由一行簡單的代碼組成:
apply plugin: 'java'.下面的命令會(huì)生成一個(gè)Gradle構(gòu)建文件,創(chuàng)建項(xiàng)目文件的目錄樹,并附帶一個(gè)項(xiàng)目便攜式Gradle封裝:
$ gradle init--type java-library Gradle還有可用于添加新的語言,生成支持IDE的項(xiàng)目文件,構(gòu)建本地二進(jìn)制文檔,檢查依賴性更新等等的插件。
3.javadocJavadoc是Oracle提供的文檔生成器。它可以將特殊格式的注釋解析為HTML文檔。以下截圖就是Javadoc生成的Java SE 8 API規(guī)范:
Javadoc注釋使用開放標(biāo)簽、關(guān)閉標(biāo)簽,以及一個(gè)或多個(gè)描述性標(biāo)簽的格式。開放式標(biāo)簽類似于標(biāo)準(zhǔn)Java多行注釋標(biāo)記,使用兩個(gè)星號(hào)的除外。Javadoc也解析普通的HTML標(biāo)簽。
Javadoc自動(dòng)格式化標(biāo)簽和關(guān)鍵字,除非另有規(guī)定。Javadoc廣泛使用超鏈接,允許你參考和鏈接到代碼的不同區(qū)域。許多IDE——包括 Eclipse——可以自動(dòng)添加Javadoc注釋模塊到變量、類和方法中。支持Maven、Gradle和Ant的插件在編譯代碼的同時(shí)也可以構(gòu)建 Javadoc HTML。
4.JUnitJUnit是用于編寫和運(yùn)行單元測(cè)試的開源框架。一個(gè)基本的JUnit測(cè)試包括測(cè)試類、測(cè)試方法、以及執(zhí)行測(cè)試的功能。
JUnit使用標(biāo)注來確定測(cè)試如何構(gòu)造和運(yùn)行。例如,如果你的程序有一個(gè)類叫做MathClass,具有乘法和除法的方法,你可以創(chuàng)建JUnit測(cè)試來扣丁學(xué)堂 Codingke.com 檢 查不符合預(yù)期的值。輸入數(shù)字2和5到乘法方法,你希望得到的結(jié)果為10。當(dāng)輸入0作為除法方法的第二個(gè)參數(shù)時(shí),你會(huì)期望給出一個(gè)數(shù)字計(jì)算異常的警告因?yàn)槌?數(shù)不能為0:
@Test標(biāo)注規(guī)定,MathClass方法是一個(gè)測(cè)試用例。
在JUnit提供額外的標(biāo)注,比如@Before,這樣你就可以在測(cè)試運(yùn)行之前設(shè)置環(huán)境。
JUnit還可以設(shè)置規(guī)則用于定義測(cè)試方法的行為。例如,TemporaryFolder規(guī)則使得一旦測(cè)試完成,由測(cè)試創(chuàng)建的文件或文件夾就會(huì)被刪除。
5.CoberturaCobertura可用于分析Java代碼的測(cè)試覆蓋率。Cobertura根據(jù)沒有被測(cè)試覆蓋的代碼生成基于HTML的報(bào)告。
Cobertura提供可用于插裝、檢查和測(cè)試代碼的工具。通過監(jiān)控可測(cè)試的代碼,Cobertura允許你使用你選擇的測(cè)試框架,甚至不需要測(cè)試框架就可以運(yùn)行程序。
Cobertura根據(jù)行、分支和程序包三個(gè)方面給出代碼覆蓋報(bào)告。每個(gè)類別都有一個(gè)可自定義的閾值,如果覆蓋面低于閾值,就會(huì)觸發(fā)警告。Cobertura還集成了Maven和Gradle 的自動(dòng)檢測(cè)功能。
6.FindBugsFindBugs是一個(gè)匹配編譯代碼模式,而非使用bug數(shù)據(jù)庫的工具。當(dāng)提供源代碼時(shí),F(xiàn)indBugs還可高亮顯示檢測(cè)出bug的代碼行。
在它的3.0.1版本中,F(xiàn)indBugs繼續(xù)保持著數(shù)以百計(jì)的bug描述。根據(jù)bug的嚴(yán)重程度,F(xiàn)indBugs將bug分為四個(gè)水平:相關(guān) 的,令人困擾的,可怕的,以及最可怕的。除了圖形用戶界面,F(xiàn)indBugs還提供一個(gè)命令行界面,Ant任務(wù),以及Eclipse插件。
7.VisualVM包含在JDK中的VisualVM是監(jiān)控和審查Java應(yīng)用程序性能的工具。VisualVM檢測(cè)并重視活躍的JVM實(shí)例來檢索有關(guān)進(jìn)程的診斷信息。
VisualVM可以很容易地實(shí)時(shí)診斷性能問題。它提供了全套的分析工具,包括JConsole、jstack、jmap、jinfo和jstat等。此外,你還可以對(duì)JVM做一個(gè)快照,這樣以后在任何時(shí)都能審查。
8.GroovyGroovy是一種編程語言,通過添加新的關(guān)鍵字,自動(dòng)導(dǎo)入常用的類,以及可選類型變量聲明,既簡化又?jǐn)U展了Java。
Groovy的核心優(yōu)勢(shì)之一是它的腳本功能。類可以被編譯為Java字節(jié)碼或使用Groovy Shell動(dòng)態(tài)執(zhí)行。Groovy的Java基礎(chǔ)使得它相較于Jython和JRuby更容易為Java開發(fā)人員所接受。
其他選擇
Java這個(gè)大世界中正在不斷涌現(xiàn)新的工具、實(shí)用程序和庫。如果你的首選工具沒能進(jìn)入上述名單,歡迎分享。
第四篇:java程序員
如何迅速成為Java高手[Tomjava原創(chuàng)]
很多網(wǎng)友問我學(xué)習(xí)Java有沒有什么捷徑,我說“無他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫出來,以便后來者少走彎路,幫助別人是最大的快樂嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開發(fā)語言來說,優(yōu)勢(shì)好象并不明顯。J2ME對(duì)于初學(xué)者來說,好象又有點(diǎn)深?yuàn)W,而且一般開發(fā)者很難有開發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再從JSP學(xué)起。如果你學(xué)過HTML,那么事情要好辦的多,如果沒有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語法也不多,它更象一個(gè)腳本語言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來,便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說了,你如果用java編過存取數(shù)據(jù)庫的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對(duì)Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P的書來看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說直接復(fù)制還不用怕出錯(cuò),何樂而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來,有問題盡管問,只要問題不是太傻,一般高手都會(huì)回答你的。下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇 http:///那里Java資料比較全;
java.com.cnhttp://.cn/看這域名就知道有多牛,注冊(cè)用戶快接近一萬了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開發(fā)者網(wǎng)絡(luò)http://IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書也看了,程序也做了,別人問我的問題我都能解決了,是不是就成為高手了呢?當(dāng)然沒那么簡單,這只是萬里長征走完了第一步。不信?那你出去接一個(gè)項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再?zèng)]有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書本上那些
憑空想出來的程序。所以你快去找一份Java的編程工作來做吧(如果是在校學(xué)生可以去做兼職?。?,在實(shí)踐中提高自己,那才是最快的。不過你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開放源碼的程序了。我們知道開放源碼大都出自高手,他們?cè)O(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價(jià)值自然是字字珠嘰,鏗鏘有力(對(duì)不起,偶最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個(gè)開源程序就是Jive和Pet Store.。Jive是國外一個(gè)非常著名的BBS程序,完全開放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對(duì)數(shù)據(jù)庫的訪問,可以很輕易的在不同數(shù)據(jù)庫中移植。論壇還有方便的安裝和管理程序,這是我們平時(shí)編程時(shí)容易忽略的一部份(中國程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來研究一下。相信你讀完代碼后,會(huì)有脫胎換骨的感覺。遺憾的是Jive從2.5以后就不再無條件的開放源代碼,同時(shí)有l(wèi)icence限制。不過幸好還有中國一流的Java程序員關(guān)注它,外國人不開源了,中國人就不能開源嗎?這里向大家推薦一個(gè)漢化的Jive版本—J道。Jive(J道版)是由中國Java界大名鼎鼎的banq在Jive 2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個(gè)開發(fā)團(tuán)隊(duì)在不斷升級(jí)。你可以訪問banq的網(wǎng)站http:///去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上ftp://nro.shtdu.edu.cn去下,安裝上有什么問題,可以到論壇上去提問。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯(cuò)過了。
你一定會(huì)高興地說,哈哈,原來成為Java高手就這么簡單啊!記得Tomjava也曾碰到過一個(gè)項(xiàng)目經(jīng)理,號(hào)稱Java很簡單,只要三個(gè)月就可以學(xué)會(huì)。其實(shí)說這種話的人就如當(dāng)年小日本號(hào)稱“三個(gè)月拿下中國”一樣大言不慚。不是Tomjava潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒有學(xué)到Java的精髓。接下來你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級(jí)程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體“技術(shù)”,它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來的Java語言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個(gè)宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng)站http:///,他把GOF的23種模式以通俗易懂的方式詮釋出來,純Java描述,真是經(jīng)典中的經(jīng)典。有時(shí)間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過Structs用起來實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會(huì)上一個(gè)臺(tái)階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見的應(yīng)用整理出來,再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€(gè)志同道合的朋友成立一個(gè)工作室吧,你可以去承接一些項(xiàng)目做了,一開始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來可以迅速作完,相信大家以后都會(huì)來找你的,所以Money就嘩啦啦的來了。。。當(dāng)然你也可以參加一些開源項(xiàng)目,一方面可以提高自己,另一方面也是為中國軟件事業(yè)做貢獻(xiàn)嘛!開發(fā)者在互聯(lián)網(wǎng)上用CVS合作開發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時(shí)開發(fā)同一個(gè)軟件,是不是很有意思呢?
下面介紹兩個(gè)好的開源項(xiàng)目網(wǎng)站:
湖北省軟件公共開發(fā)平臺(tái)http://gro.clinux.org/
共創(chuàng)聯(lián)盟http://cosoft.org.cn/
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識(shí)時(shí)務(wù)者為俊杰”。你知道計(jì)算
機(jī)界現(xiàn)在的發(fā)展形勢(shì)嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動(dòng)作,都可以看出來“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個(gè)嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語言編寫的軟件能夠輕易的集成起來,使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場。不遠(yuǎn)的將來,我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請(qǐng)注意,這所有的一切都是Web站點(diǎn)間自動(dòng)完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會(huì)覺得這是天方夜談,不過就近的說,你也很有可能承接一個(gè)項(xiàng)目,要集成兩個(gè)企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時(shí)間卻在搞別的技術(shù)。太極張三豐里說,最厲害的招式就是沒有招式,可能就是這個(gè)道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個(gè)網(wǎng)站吧: 中國UDDI技術(shù)聯(lián)盟http:///developerWorks/cn/xml/index.shtml?csdnIBM可是Web服務(wù)的力推者
嗚?你費(fèi)勁千心萬苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡單,真叫人感動(dòng)?。∧敲创騻€(gè)電話告訴我吧,什么?我的電話號(hào)碼是多少?昏到,你打電話問不就知道了嗎,真是的??
第五篇:Java程序員需要了解的幾個(gè)開源協(xié)議介紹
Java程序員需要了解的幾個(gè)開源協(xié)議介紹.txt這是一個(gè)禁忌相繼崩潰的時(shí)代,沒人攔得著你,只有你自己攔著自己,你的禁忌越多成就就越少。自卑有多種檔次,最高檔次的自卑表現(xiàn)為吹噓自己干什么都是天才。Mozilla Public License
MPL License,允許免費(fèi)重發(fā)布、免費(fèi)修改,但要求修改后的代碼版權(quán)歸軟件的發(fā)起者。這種授權(quán)維護(hù)了商業(yè)軟件的利益,它要求基于這種軟件得修改無償貢獻(xiàn)版權(quán)給該軟件。這樣,圍繞該軟件得所有代碼得版權(quán)都集中在發(fā)起開發(fā)人得手中。但MPL是允許修改,無償使用得。MPL軟件對(duì)鏈接沒有要求。
SD開源協(xié)議
BSD開源協(xié)議是一個(gè)給于使用者很大自由的協(xié)議。可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。當(dāng)你發(fā)布使用了BSD協(xié)議的代碼,或則以BSD協(xié)議代碼為基礎(chǔ)做二次開發(fā)自己的產(chǎn)品時(shí),需要滿足三個(gè)條件:
1.如果再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議。
2.如果再發(fā)布的只是二進(jìn)制類庫/軟件,則需要在類庫/軟件的文檔和版權(quán)聲明中包含原來代碼中的BSD協(xié)議。
3.不可以用開源代碼的作者/機(jī)構(gòu)名字和原來產(chǎn)品的名字做市場推廣。
BSD代碼鼓勵(lì)代碼共享,但需要尊重代碼作者的著作權(quán)。BSD由于允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布和銷售,因此是對(duì)商業(yè)集成很友好的協(xié)議。而很多的公司企業(yè)在選用開源產(chǎn)品的時(shí)候都首選BSD協(xié)議,因?yàn)榭梢酝耆刂七@些第三方的代碼,在必要的時(shí)候可以修改或者二次開發(fā)。
Apache Licence 2.0
Apache Licence是著名的非盈利開源組織Apache采用的協(xié)議。該協(xié)議和BSD類似,同樣鼓勵(lì)代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開源或商業(yè)軟件)。需要滿足的條件:
1.需要給代碼的用戶一份Apache Licence
2.如果你修改了代碼,需要再被修改的文件中說明。
3.在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標(biāo),專利聲明和其他原來作者規(guī)定需要包含的說明。
4.如果再發(fā)布的產(chǎn)品中包含一個(gè)Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現(xiàn)為對(duì)Apache Licence構(gòu)成更改。
Apache Licence也是對(duì)商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時(shí)候修改代碼來滿足需要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。
GPL
GPL許可證是自由軟件的應(yīng)用最廣泛的軟件許可證,人們可以修改程式的一個(gè)或幾個(gè)副本或程式的任何部分,以此形成基於這些程式的衍生作品。必須在修改過的檔案中附有明顯的說明:您修改了此一檔案及任何修改的日期。您必須讓您發(fā)布或出版的作品,包括本程式的全部或一部分,或內(nèi)含本程式的全部或部分所衍生的作品,允許第三方在此許可證條款下使用,并且不得因?yàn)榇隧?xiàng)授權(quán)行為而收費(fèi)。
LGPL
Linux就是采用了GPL。GPL協(xié)議和BSD, Apache Licence等鼓勵(lì)代碼重用的許可很不一樣。GPL的出發(fā)點(diǎn)是代碼的開源/免費(fèi)使用和引用/修改/衍生代碼的開源/免費(fèi)使用,但不允許修改后和衍生的代碼做為閉源的商業(yè)軟件發(fā)布和銷售。這也就是為什么我們能用免費(fèi)的各種linux,包括商業(yè)公司的linux和linux上各種各樣的由個(gè)人,組織,以及商業(yè)軟件公司開發(fā)的免費(fèi)軟件了。
GPL協(xié)議的主要內(nèi)容是只要在一個(gè)軟件中使用(“使用”指類庫引用,修改后的代碼或者衍生代碼)GPL協(xié)議的產(chǎn)品,則該軟件產(chǎn)品必須也采用GPL協(xié)議,既必須也是開源和免費(fèi)。這就是所謂的”傳染性”。GPL協(xié)議的產(chǎn)品作為一個(gè)單獨(dú)的產(chǎn)品使用沒有任何問題,還可以享受免費(fèi)的優(yōu)勢(shì)。
由于GPL嚴(yán)格要求使用了GPL類庫的軟件產(chǎn)品必須使用GPL協(xié)議,對(duì)于使用GPL協(xié)議的開源代碼,商業(yè)軟件或者對(duì)代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發(fā)的基礎(chǔ)。
其它細(xì)節(jié)如再發(fā)布的時(shí)候需要伴隨GPL協(xié)議等和BSD/Apache等類似
Public Domain
公共域授權(quán)。將軟件授權(quán)為公共域,這些軟件包沒有授權(quán)協(xié)議,任何人都可以隨意使用它。
Artistic許可
使作者保持對(duì)進(jìn)一步開發(fā)的控制。