溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

程序員必須搞懂的Java類庫和API是什么

發(fā)布時間:2022-01-07 11:27:51 來源:億速云 閱讀:237 作者:iii 欄目:編程語言

這篇文章主要講解了“程序員必須搞懂的Java類庫和API是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“程序員必須搞懂的Java類庫和API是什么”吧!

一、日志相關類庫

日志庫是很常見的,因為你在每一個項目中都需要他們。打印日志是服務器端應用中最重要的事情,因為日志是你了解你的程序發(fā)生了什么的唯一途徑。盡管JDK附帶自己的日志庫,但是還是有很多更好的選擇可用,例如  Log4j 、 SLF4j 和 LogBack。

程序員必須搞懂的Java類庫和API是什么

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

二、JSON解析庫

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

程序員必須搞懂的Java類庫和API是什么

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

三、單元測試庫

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

程序員必須搞懂的Java類庫和API是什么

四、通用類庫

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

程序員必須搞懂的Java類庫和API是什么

五、Http 庫

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

程序員必須搞懂的Java類庫和API是什么

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

六、XML解析庫

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

程序員必須搞懂的Java類庫和API是什么

七、Excel讀寫庫

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

程序員必須搞懂的Java類庫和API是什么

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

八、字節(jié)碼庫

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

程序員必須搞懂的Java類庫和API是什么

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

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

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

程序員必須搞懂的Java類庫和API是什么

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

十、消息傳遞庫

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

程序員必須搞懂的Java類庫和API是什么

十一、PDF處理庫

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

程序員必須搞懂的Java類庫和API是什么

十二、日期和時間庫

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

程序員必須搞懂的Java類庫和API是什么

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

十三、集合類庫

雖然JDK有豐富的集合類,但還是有很多第三方類庫可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman  Sachs collections 、 Google Collections 和 Trove 。Trove尤其有用,因為它提供所有標準Collections  類的更快的版本以及能夠直接在原語(primitive)(例如包含int 鍵或值的Map 等)上操作的Collections 類的功能。

程序員必須搞懂的Java類庫和API是什么

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

十四、郵件API

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

程序員必須搞懂的Java類庫和API是什么

十五、HTML解析庫

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

程序員必須搞懂的Java類庫和API是什么

十六、加密庫

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

程序員必須搞懂的Java類庫和API是什么

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

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

程序員必須搞懂的Java類庫和API是什么

十八、JDBC故障診斷庫

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

程序員必須搞懂的Java類庫和API是什么

十九、序列化庫

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

程序員必須搞懂的Java類庫和API是什么

二十、網(wǎng)絡庫

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

程序員必須搞懂的Java類庫和API是什么

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

感謝各位的閱讀,以上就是“程序員必須搞懂的Java類庫和API是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對程序員必須搞懂的Java類庫和API是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI