成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java 開發(fā)人員必知必會的 20 種常用類庫和 API

開發(fā) 后端
在本文中,我將分享一些Java開發(fā)人員應(yīng)該熟悉的最有用的和必要的庫和API。順便說一句,這里不包括框架,如Spring和Hibernate因?yàn)樗麄兎浅S忻?都有特定的功能。

一個有經(jīng)驗(yàn)的Java開發(fā)人員特征之一就是善于使用已有的輪子來造車。《Effective Java》的作者Joshua Bloch曾經(jīng)說過:“建議使用現(xiàn)有的API來開發(fā),而不是重復(fù)造輪子”。在本文中,我將分享一些Java開發(fā)人員應(yīng)該熟悉的最有用的和必要的庫和API。順便說一句,這里不包括框架,如Spring和Hibernate因?yàn)樗麄兎浅S忻?都有特定的功能。

本文總結(jié)了日志、JSON解析、單測、XML解析、字節(jié)碼處理、數(shù)據(jù)庫連接池、集合類、郵件、加密、嵌入式SQL數(shù)據(jù)庫、JDBC故障診斷以及序列化等20個方面的常用類庫。都是你日常開發(fā)經(jīng)常可能要用到的,現(xiàn)在不用不要緊,但是你要知道有這么一篇文章可以供你參考。

不知道不可怕,可怕的是你不知道你不知道。

一、日志相關(guān)類庫

日志庫是很常見的,因?yàn)槟阍诿恳粋€項(xiàng)目中都需要他們。打印日志是服務(wù)器端應(yīng)用中最重要的事情,因?yàn)槿罩臼悄懔私饽愕某绦虬l(fā)生了什么的唯一途徑。盡管JDK附帶自己的日志庫,但是還是有很多更好的選擇可用,例如Log4jSLF4jLogBack。

Java開發(fā)人員必知必會的20種常用類庫和API

Java開發(fā)人員應(yīng)該熟悉日志記錄的利弊,并且了解為什么SLF4J要比Log4J要好。

二、JSON解析庫

在當(dāng)今世界的web服務(wù)和物聯(lián)網(wǎng)中(IoT),JSON已經(jīng)取代了XML,成為從客戶端到服務(wù)器傳送信息的***協(xié)議。有一個好消息和一個壞消息。壞消息是JDK沒有提供JSON庫。好消息是有許多優(yōu)秀的第三方庫可以用來解析和創(chuàng)建JSON消息,如JacksonGson

Java開發(fā)人員必知必會的20種常用類庫和API

一個Java web開發(fā)人員應(yīng)該熟悉Jackson 和 Gson這兩種中的至少一種庫。

三、單元測試庫

單元測試技術(shù)的使用,是區(qū)分一個一般的開發(fā)者和好的開發(fā)者的重要指標(biāo)。程序員經(jīng)常有各種借口不寫單元測試,但最常見的借口就是缺乏經(jīng)驗(yàn)和知識。常見的單測框架有JUnit,MockitoPowerMock

Java開發(fā)人員必知必會的20種常用類庫和API

四、通用類庫

有幾個很好的第三方通用庫可供Java開發(fā)人員使用,例如Apache CommonsGoogle Guava。我會經(jīng)常在我的代碼中使用這些通用類庫,因?yàn)檫@些類庫都是經(jīng)過無數(shù)開發(fā)者實(shí)踐過的,無論是實(shí)用性還是在性能等方面都是***的。

Java開發(fā)人員必知必會的20種常用類庫和API

五、Http 庫

我不是很喜歡JDK的一個重要原因就包括他們?nèi)狈TTP的支持。雖然可以使用java.net包類,但是這和直接使用像Apache HttpClientHttpCore等開源類庫比起來麻煩太多了。

Java開發(fā)人員必知必會的20種常用類庫和API

盡管JDK 9將開始HTTP 2.0,也對HTTP的支持做了優(yōu)化,但是我還是強(qiáng)烈建議所有的Java開發(fā)人員熟悉流行的HTTP處理類庫,例如HttpClient和HttpCore HTTP等庫。

六、XML解析庫

市面上有很多XML解析的類庫,如Xerces, JAXB, JAXP, Dom4j, Xstream等。Xerces2是下一代高性能,完全兼容的XML解析工具。Xerces2定義了 Xerces Native Interface (XNI)規(guī)范,并提供了一個完整、兼容標(biāo)準(zhǔn)的 XNI 規(guī)范實(shí)現(xiàn)。該解析器是完全重新設(shè)計和實(shí)現(xiàn)的,更簡單以及模塊化。

Java開發(fā)人員必知必會的20種常用類庫和API

七、Excel讀寫庫

許多應(yīng)用程序需要提供把數(shù)據(jù)導(dǎo)出到Excel的功能,如果你要做相同的Java應(yīng)用程序,那么你需要Apache POI API

Java開發(fā)人員必知必會的20種常用類庫和API

這是一個非常豐富的類庫,你可以從Java程序讀寫XLS文件。

八、字節(jié)碼庫

如果你正在編寫一個框架或者類庫。有一些受歡迎的字節(jié)碼庫如javassistCglib Nodep可以供你選擇,他們可以讓你閱讀和修改應(yīng)用程序生成的字節(jié)碼。

Java開發(fā)人員必知必會的20種常用類庫和API

Javassist使得JAVA字節(jié)碼操作非常簡單。它是一個為編輯Java字節(jié)碼而生的類庫。ASM是另一個有用的字節(jié)碼編輯庫。

九、數(shù)據(jù)庫連接池庫

如果你的Java應(yīng)用程序與數(shù)據(jù)庫交互不是使用數(shù)據(jù)庫連接池庫的話,那么你就大錯特錯了。因?yàn)樵谶\(yùn)行時創(chuàng)建數(shù)據(jù)庫連接非常耗時并且會拖慢你的程序。所以墻裂建議使用,有些好用的連接池可供選擇,如Commons Pool DBCP

在web應(yīng)用程序中,web服務(wù)器通常提供了這些功能。但是在java項(xiàng)目中需要把數(shù)據(jù)庫連接池的類庫導(dǎo)入到應(yīng)用中。

十、消息傳遞庫

像日志和數(shù)據(jù)庫連接池一樣,消息傳遞也是很多實(shí)際的Java項(xiàng)目中必備的。Java提供了JMS Java消息服務(wù),但這不是JDK的一部分,你需要單獨(dú)的引入jms.jar。類似地,如果您準(zhǔn)備使用第三方消息傳遞協(xié)議,Tibco RV是個不錯的選擇。

Java開發(fā)人員必知必會的20種常用類庫和API

十一、PDF處理庫

除了Excel和Word,PDF也是一種常用的文件格式。如果你的應(yīng)用程序要支持PDF格式的文件處理,你可以使用iTextApache FOP類庫。兩者都提供了非常有用的PDF處理功能。

[[226260]]

十二、日期和時間庫

在Java之前,JDK的日期和時間庫一直被人們所詬病,比如其非線程安全的、不可變的、容易出錯等。很多開發(fā)人員會選擇更好用的JodaTime類庫。

但是在Java8推出之后,我們就可以徹底放棄JodaTime了,因?yàn)镴ava 8提供了其所有功能。但是,如果你的代碼運(yùn)行在一個低版本的JDK中,那么JodaTime還是值得使用的。

十三、集合類庫

雖然JDK有豐富的集合類,但還是有很多第三方類庫可以提供更多更好的功能。如Apache Commons CollectionsGoldman Sachs collectionsGoogle CollectionsTrove。Trove尤其有用,因?yàn)樗峁┧袠?biāo)準(zhǔn)Collections 類的更快的版本以及能夠直接在原語(primitive)(例如包含int 鍵或值的Map 等)上操作的Collections 類的功能。

FastUtil是另一個類似的API,它繼承了Java Collection Framework,提供了數(shù)種特定類型的容器,包括映射map、集合set、列表list、優(yōu)先級隊列(prority queue),實(shí)現(xiàn)了java.util包的標(biāo)準(zhǔn)接口(還提供了標(biāo)準(zhǔn)類所沒有的雙向迭代器),還提供了很大的(64位)的array、set、list,以及快速、實(shí)用的二進(jìn)制或文本文件的I/O操作類。

十四、郵件API

javax.mail 和 Apache Commons Email 提供了發(fā)送郵件的api。它們建立在JavaMail API的基礎(chǔ)上,提供簡化的用法。

Java開發(fā)人員必知必會的20種常用類庫和API

十五、HTML解析庫

和XML與JSON類似,HTML是另外一種我們可能要打交道的傳輸格式。值得慶幸的是,我們有jsoup可以大大簡化Java應(yīng)用程序使用HTML。你不僅可以使用JSoup解析HTML還可以創(chuàng)建HTML文檔。

[[226261]]

十六、加密庫

Apache Commons家族中的Commons Codec就提供了一些公共的編解碼實(shí)現(xiàn),比如Base64, Hex, MD5,Phonetic and URLs等等。

Java開發(fā)人員必知必會的20種常用類庫和API

十七、嵌入式SQL數(shù)據(jù)庫庫

我真的是非常喜歡像H2這種內(nèi)存數(shù)據(jù)庫,他可以嵌入到你的Java應(yīng)用中。在你跑單測的時候如果你需要一個數(shù)據(jù)庫,用來驗(yàn)證你的SQL的話,他是個很好的選擇。順便說一句,H2不是唯一嵌入式DB,你還有Apache DerbyHSQL可供選擇。

十八、JDBC故障診斷庫

有不錯的JDBC擴(kuò)展庫的存在使得調(diào)試變得很容易,例如P6spy,這是一個針對數(shù)據(jù)庫訪問操作的動態(tài)監(jiān)測框架,它使得數(shù)據(jù)庫數(shù)據(jù)可無縫截取和操縱,而不必對現(xiàn)有應(yīng)用程序的代碼作任何修改。P6Spy 分發(fā)包包括P6Log,它是一個可記錄任何 Java 應(yīng)用程序的所有JDBC事務(wù)的應(yīng)用程序。其配置完成使用時,可以進(jìn)行數(shù)據(jù)訪問性能的監(jiān)測。

十九、序列化庫

Google Protocol Buffer 是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化,或者說序列化。它很適合做數(shù)據(jù)存儲或 RPC 數(shù)據(jù)交換格式。可用于通訊協(xié)議、數(shù)據(jù)存儲等領(lǐng)域的語言無關(guān)、平臺無關(guān)、可擴(kuò)展的序列化結(jié)構(gòu)數(shù)據(jù)格式。目前提供了 C++、Java、Python 三種語言的 API。

Java開發(fā)人員必知必會的20種常用類庫和API

二十、網(wǎng)絡(luò)庫

一些有用的網(wǎng)絡(luò)庫主要有Netty的和Apache MINA。如果您正在編寫一個應(yīng)用程序,你需要做的底層網(wǎng)絡(luò)任務(wù),可以考慮使用這些庫。

Java開發(fā)人員必知必會的20種常用類庫和API

這都是每位Java開發(fā)人員應(yīng)該熟悉的,并且十分有用的庫。Java生態(tài)系統(tǒng)非常龐大的,你會發(fā)現(xiàn)有很多不同的類庫可以做不同的事情。每個你想到的東西,都可能有一個庫可以做到。

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2018-01-31 22:26:36

Java開發(fā)人員

2020-10-25 23:26:14

Java開發(fā)代碼

2020-10-27 13:41:43

Java技術(shù)開發(fā)

2021-08-07 15:38:07

開發(fā)Java工具

2017-01-12 19:47:59

Android秘訣技巧和資源

2011-03-28 13:43:05

WebjQueryHTML 5

2020-02-22 21:32:58

程序員HTMLWindows

2018-04-09 09:00:00

Java測試框架庫JUnit

2022-11-02 14:43:29

2015-11-23 10:47:27

2018-11-26 09:55:07

MySQL誤刪數(shù)據(jù)數(shù)據(jù)庫

2021-11-21 22:43:10

Java開發(fā)框架

2009-05-18 16:58:56

Java代碼片段

2018-10-12 22:50:20

機(jī)器學(xué)習(xí)API人工智能

2021-12-10 23:48:19

Java開發(fā)技術(shù)

2023-03-29 15:03:56

測試開發(fā)Web 應(yīng)用程序

2012-05-17 10:03:25

.NET

2010-08-09 16:09:25

2021-11-16 19:19:07

API接口前端開發(fā)

2012-05-30 15:15:42

ibmdw
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产日韩欧美一区 | 91精品国产乱码久久久久久 | 91中文字幕在线 | 在线播放第一页 | 精品96久久久久久中文字幕无 | 91麻豆精品国产91久久久久久久久 | 91香蕉视频在线观看 | 狠狠热视频| 免费毛片www com cn | www.国产精品 | 在线视频 亚洲 | 欧美成人一级 | 黄色片视频免费 | 婷婷精品 | 色婷婷综合久久久久中文一区二区 | 亚洲精品在线免费观看视频 | 亚洲视频在线观看 | 国产精品日韩一区 | 日韩一区二区在线视频 | 亚洲国产精品视频 | 久久精品一区 | 在线观看国产视频 | 国产欧美精品在线 | 波多野结衣一区二区三区 | 亚洲国产日韩欧美 | 看a网站| 久久久精品一区二区三区四季av | 国产精品久久一区二区三区 | 中文字幕成人在线 | 99精品视频免费在线观看 | 欧洲一区二区三区 | 日韩精品一区二区三区 | 亚洲精品在线91 | 国产成人免费在线观看 | 欧美亚洲国产成人 | 欧美在线观看免费观看视频 | 亚洲一区二区三区在线视频 | 久久久久久亚洲精品 | 毛片免费在线 | dy天堂| 少妇一区二区三区 |