你要看class的?可以用jd-gui.exe 如果要集成在eclipse里面的話,可以用jadClipse
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè),為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
Java?SDK?肯定是使用最廣的庫,所以本文的名單焦點(diǎn)是流行的第三方庫。該列表可能并不完善,所以如果你覺得有什么應(yīng)該出現(xiàn)在列表中的,請(qǐng)留下您的評(píng)論。非常感謝!
1、核心庫
Apache Commons Lang:來自Apache的核心庫,為java.lang API補(bǔ)充了許多常用的工具類,如字符串操作、對(duì)象的創(chuàng)建等。
Google Guava:來自谷歌的核心庫,包括集合(Collection)、緩存(Caching)、支持原語(Primitives)等。(示例)
2、HTML、XML Parser
Jsoup:一個(gè)簡(jiǎn)化了的 HTML操作的庫。(示例)
STaX:一組可以高效處理?XML的API。 (示例)
3、Web框架
Spring:Java平臺(tái)上眾所周知的開源框架和依賴注入容器。(示例)
Struts2:來自Apache的流行Web框架。 (示例)
Google?Web?Toolkit:Google提供的開發(fā)工具庫,主要用于構(gòu)建和優(yōu)化復(fù)雜的Web程序用。 (示例)
Strips:使用最新Java技術(shù)構(gòu)建的Web程序框架,推薦使用。
Tapestry:面向組件的框架,用于使用Java創(chuàng)建動(dòng)態(tài)、健壯、擴(kuò)展性高的Web應(yīng)用程序。
請(qǐng)猛擊這里?查看以上面框架之間的比較。
4、圖表、報(bào)表、圖像
JFreeChart:用于創(chuàng)建如條形圖、折線圖、餅圖等圖表。
JFreeReport:創(chuàng)建于輸出PDF格式的報(bào)表。
JGraphT:創(chuàng)建圖像,其中只包含由線段連接的點(diǎn)集。
5、窗口
Swing:SDK提供的GUI庫。(示例)
SWT:eclipse提供的GUI庫。
SWT與Swing的比較。
6.、GUI框架
Eclipse?RCP。(示例)
7、自然語言處理
OpenNLP:來自Apache的自然語言處理庫。 (示例)
Stanford?Parser:斯坦福大學(xué)提供的自然語言處理庫。(示例)
如果你是一名NLP專家,請(qǐng)猛擊這里?查看更多工具庫介紹。
8、靜態(tài)分析
Eclipse?JDT:由IBM提供的靜態(tài)分析庫,可以操作Java源代碼。(示例)
WALA:可以處理jar包文件(即字節(jié)碼)的工具庫。(示例)
9、JSON
Jackson: 用于處理JSON數(shù)據(jù)格式的多用途的Java庫。Jackson 旨在快速、準(zhǔn)確、輕量、對(duì)開人員友好之間找到最好的平衡點(diǎn)。
XStream:一個(gè)簡(jiǎn)單用于對(duì)象和XML互相轉(zhuǎn)換的庫。
Google?Gson:一個(gè)專門用于Java對(duì)象和Json對(duì)象相互轉(zhuǎn)換的工具庫。(示例)
JSON-lib:用于?beans、maps、collections、java?arrays、XML?和?JSON?之間相互轉(zhuǎn)換操作的工具庫。
10、數(shù)學(xué)
Apache?Commons?Math:提供數(shù)學(xué)計(jì)算和數(shù)值統(tǒng)計(jì)需函數(shù)的工具庫。
11、日志
Apache?Log4j:風(fēng)行一時(shí)的日志記錄操作庫。?(示例)
Logback:當(dāng)前流行的log4j項(xiàng)目的繼任者。
SLF4J(The?Simple?Logging?Facade?for?Java): 各種日志框架的一個(gè)簡(jiǎn)單的外觀或抽象(如java.util.logging 、logback、log4j等),允許用戶在部署時(shí)加入需要的日志框架。
12、Office
Apache?POI:利用其提供的APIs,可以使用純Java代碼操作各種基于微軟OLE2合成文檔格式的文檔。
Docx4j:一個(gè)用于創(chuàng)建、操作微軟公開的XML文件的庫(支持Word?docx、 Powerpoint?pptx和Excel?xlsx)。
13、日期和時(shí)間
Joda-Time:如有質(zhì)量問題包退包換的Java日期和時(shí)間類。
14、數(shù)據(jù)庫
Hibernate、EclipseLink、JPA
JDO
jOOQ
SpringJDBC、Spring?Data
Apache?DbUtils
15、開發(fā)工具
Lambok: 旨在減少代碼編寫的Java開發(fā)庫。
一 ?看書已經(jīng)是一種落后的學(xué)習(xí)方式
我上大學(xué)的時(shí)候?qū)W習(xí)Java,也是通過看書的方式學(xué)習(xí)的,當(dāng)時(shí)學(xué)的很費(fèi)勁,只有死板的文字,整了一本厚厚的書,啃了將近一年,也是迷迷瞪瞪的,有長(zhǎng)進(jìn),但不是太大。在書里涉及到一些實(shí)際操作的步驟的時(shí)候,通過軟件表現(xiàn),中間會(huì)遇到很多書里沒說的問題,讓人只能糾結(jié)。
二 ?與其看死板的書,不如看網(wǎng)上直播Java課程
現(xiàn)在我是一件公司的Java技術(shù)總監(jiān),技術(shù)實(shí)力那是一級(jí)棒的。在大學(xué)里,看了兩三年的書,沒什么長(zhǎng)進(jìn),差點(diǎn)放棄了Java,但是放棄的話總覺的太可惜了,只能回鍋在學(xué)習(xí)一些,但是當(dāng)時(shí)面臨的問題是什么呢,白天要工作,要?jiǎng)?chuàng)造利潤(rùn)生活啊,又不好意思跟家里要錢,所以導(dǎo)致我沒時(shí)間去提升自己的技術(shù)實(shí)力,只能每天混日子。后來我一個(gè)朋友讓我在網(wǎng)上看Java直播課程,每天晚上都是高手分享的,可以現(xiàn)場(chǎng)互動(dòng),我抱著試試看看的態(tài)度,在網(wǎng)上聽了幾天,都是晚上講課,也不耽誤我白天工作,讓我欣喜的是,當(dāng)在直播中看著老師的實(shí)戰(zhàn)操作以及老師透徹的講解,讓我有一直茅塞頓開的感覺,很多困擾我很多年的問題,都解開了,原來看直播的學(xué)習(xí)效率,直接秒殺看書啊。當(dāng)然好東西,要給大家一塊分享,如果你想提升自己的Java實(shí)力,晚上有時(shí)間也可以來聽聽的,在這個(gè)群里,開頭的前面幾位是:557,然后在中間的一組是:101,位于最后位置的是:916,按照前后的順序組合起來就ok了。
三 ?Java程序員新手老手都離不開八大開發(fā)工具
現(xiàn)在有很多庫、實(shí)用工具和程序任Java開發(fā)人員選擇。每個(gè)工具都有其優(yōu)點(diǎn),但其中有一些因它的知名度、多功能和有效力從眾多選項(xiàng)中脫穎而出。
以下這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.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引以為傲的是它的簡(jiǎn)單。Gradle使用Groovy編程語言,與Maven和Ant使用XML語法截然相反。一個(gè)基本的Gradle構(gòu)建文件由一行簡(jiǎn)單的代碼組成:
3.Javadoc
Javadoc是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.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)入常用的類,以及可選類型變量聲明,既簡(jiǎn)化又?jǐn)U展了Java。
Groovy的核心優(yōu)勢(shì)之一是它的腳本功能。類可以被編譯為Java字節(jié)碼或使用Groovy Shell動(dòng)態(tài)執(zhí)行。Groovy的Java基礎(chǔ)使得它相較于Jython和JRuby更容易為Java開發(fā)人員所接受
三??優(yōu)秀Java程序員,應(yīng)該養(yǎng)成哪些習(xí)慣
當(dāng)我們?cè)u(píng)價(jià)一個(gè)程序員是否優(yōu)秀時(shí),要從多個(gè)方面進(jìn)行評(píng)估。 專業(yè)技能、專業(yè)知識(shí)、創(chuàng)造力、經(jīng)驗(yàn),這些都是重要的因素。當(dāng)然,還有他們的工作態(tài)度、工作效率和工作質(zhì)量。如果程序員的工作是沒有效率的,那就意味著他們所投入的時(shí)間和精力是沒有效果的。最近看到一篇博文中,他們總結(jié)了10個(gè)影響程序員工作效率的壞習(xí)慣??赐赀@篇文章后你會(huì)發(fā)現(xiàn),里面所列舉的壞習(xí)慣,總有一兩個(gè)可以在自己的身上找得到。從中你也可以學(xué)習(xí)到那些優(yōu)秀的程序員是如何提高工作效率的。
1.專注于一個(gè)工作而不是同時(shí)處理多個(gè)任務(wù)同一時(shí)間處理多個(gè)工作任務(wù),我們對(duì)這種情況并不陌生。有時(shí)候是迫不得已,但有時(shí)候也是個(gè)人的習(xí)慣造成的?!巴粫r(shí)間處理多個(gè)任務(wù)”看起來不錯(cuò),給人感覺你的工作出色,但實(shí)際上,由于要不斷轉(zhuǎn)換工作內(nèi)容,它會(huì)影響了你的專注力和創(chuàng)造力。對(duì)于程序員來說,專注于某一個(gè)開發(fā)工作是很重要的。如果要同時(shí)處理幾個(gè)任務(wù),你不得不為此消耗精力,這樣一來工作效率就會(huì)降低了。解決的方法是做好工作安排,把相似的工作放在一起,專心做好一個(gè)工作直到它完成了為止,再去做下一個(gè)工作。
2.建立一個(gè)有條理的工作系統(tǒng)程序員給很多人的感覺是有點(diǎn)神經(jīng)質(zhì)的,就是那種專注起來令人傾心,糊涂起來讓人抓狂的那種。他們可以投入到開發(fā)環(huán)境中不眠不休,但有很多人也會(huì)在工作中出現(xiàn)各種馬虎,健忘和凌亂的狀況。工作沒有條理可以直接影響工作效率。其實(shí)這個(gè)毛病是可以改掉的,從辦公桌上物件的擺放,到建立工作計(jì)劃,一步一步地作好安排,制定一個(gè)井井有條的工作系統(tǒng)可以有助提高工作效率。你可以在livecoding上看一下其他程序員的直播,不僅可以發(fā)現(xiàn)一些有趣的項(xiàng)目,還可以留意一下人家是如何把每一件事情都處理得有條不紊的。優(yōu)秀的程序員也許在生活中會(huì)有各種丟三拉四的表現(xiàn),但一旦投入到工作中時(shí),他們會(huì)變得非常專注和注重條理。