日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

盘点 20多种基本Java库和API,值得收藏!

發(fā)布時間:2023/12/10 java 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 盘点 20多种基本Java库和API,值得收藏! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天給大家收集的一些有用的第三方庫,Java開發(fā)人員應該掌握,歡迎收藏!

1.單元測試庫[JUnit和Mockito]

單元測試是將普通開發(fā)人員與優(yōu)秀開發(fā)人員區(qū)分開的最重要的事情。經(jīng)常為程序員提供不編寫單元測試的借口,但是避免單元測試的最常見借口是缺乏流行的單元測試庫(包括JUnit,Mockito和PowerMock)的經(jīng)驗和知識。

2. JSON解析庫[Jackson和Gson]

在當今的Web服務和IoT世界中,JSON已成為將信息從客戶端傳輸?shù)椒掌鞯氖走x協(xié)議。他們已經(jīng)將XML替換為以獨立于平臺的方式傳輸信息的最優(yōu)選方式。

不幸的是,JDK沒有JSON庫。但是,有很多不錯的第三方庫,例如Jackson和Gson,它們都可以讓您解析和創(chuàng)建JSON消息。

3.記錄庫[Log4j2和SLF4j]

日志記錄庫非常常見,因為在每個項目中都需要它們。對于服務器端應用程序而言,它們是最重要的事情,因為日志僅放置在您可以看到應用程序中正在發(fā)生什么的地方。

即使JDK附帶了自己的日志記錄庫,也可以使用更好的替代方法,例如Log4j,SLF4j和LogBack。

4.通用庫[Apache Commons和Guava]

Java開發(fā)人員可以使用幾個不錯的通用第三方庫,例如Apache Commons和Google Guava。我總是將這些庫包含在我的項目中,因為它們簡化了許多任務。

正如約書亞·布洛赫(Joshua Bloch)在“有效Java”中正確說的那樣,重新發(fā)明輪子沒有意義。我們應該更喜歡使用經(jīng)過測試和測試的庫,而不是時不時地編寫我們自己的例程。

對于Java開發(fā)人員來說,熟悉Google Guava和Apache Commons庫是一件好事。

5. HTTP庫[HttpClient]

我不喜歡JDK的一件事是它缺乏對HTTP的支持。盡管您可以使用java.net包中的類進行HTTP連接,但是使用開放源代碼的第三方庫(如Apache HttpClient和HttpCore)并不是那么容易或無縫。

盡管JDK 9帶來了HTTP 2.0的支持以及對HTTP的更好支持,但我強烈建議所有Java開發(fā)人員熟悉流行的HTTP客戶端庫,包括HttpClient和HttpCore。

6. XML解析庫[Xerces和JAXB]

有許多XML解析庫,包括Xerces,JAXB,JAXP,Dom4j和Xstream。Xerces2是Apache Xerces系列中的下一代高性能,完全兼容的XML解析器。

Xerces的這個新版本引入了Xerces本機接口(XNI),它是用于構建解析器組件和配置的完整框架,該框架非常模塊化且易于編程。

Apache Xerces2解析器是XNI的參考實現(xiàn),但是可以使用Xerces本機接口編寫其他解析器組件,配置和解析器。

Dom4j是用于Java應用程序的另一個靈活的XML框架。

7. Excel閱讀庫[Apache POI]

信不信由你–所有現(xiàn)實世界中的應用程序都必須以某種形式與Microsoft Office進行交互。

許多應用程序都需要提供在Excel中導出數(shù)據(jù)的功能,如果必須從Java應用程序中進行導出,則需要Apache POI API。

這是一個非常豐富的庫,可讓您從Java程序讀取和寫入XLS文件。

8.字節(jié)碼庫[Javassist和CgLib]

如果要編寫一個框架或庫來生成代碼或與字節(jié)碼進行交互,則需要一個字節(jié)碼庫。

它們使您可以讀取和修改應用程序生成的字節(jié)碼。Java世界中一些流行的字節(jié)碼庫是javassist和Cglib Nodep。

Javassist(JAVA編程ASSISTant)使Java字節(jié)碼操作非常簡單。它是用于在Java中編輯字節(jié)碼的類庫。ASM是另一個有用的字節(jié)碼編輯庫。

9.數(shù)據(jù)庫連接池庫[DBCP和C3P0]

如果要通過Java應用程序與數(shù)據(jù)庫進行交互,但不使用數(shù)據(jù)庫連接池庫,那么您將丟失某些內(nèi)容。

由于在運行時創(chuàng)建數(shù)據(jù)庫連接會花費時間并且使請求處理變慢,因此始終建議使用DB連接庫。最受歡迎的是Commons Pool和DBCP。

在Web應用程序中,其Web服務器通常提供這些功能,但是在核心Java應用程序中,您需要將這些連接池庫包括在類路徑中,以使用數(shù)據(jù)庫連接池。

10.消息傳遞庫[JMS和MQ]

與日志記錄和數(shù)據(jù)庫連接類似,消息傳遞也是許多實際Java應用程序的共同功能。

Java提供了JMS或Java Messaging Service,它不是JDK的一部分。對于此組件,您需要包括一個單獨的jms.jar。

同樣,如果您使用的是Tibco RV之類的第三方消息傳遞協(xié)議,則需要tibrv.jar 在應用程序類路徑中使用第三方JAR — —。

11. PDF庫[iText]

與Microsoft Excel相似,PDF庫是另一種普遍存在的格式。如果需要在應用程序中支持PDF功能,例如導出PDF文件中的數(shù)據(jù),則可以使用iText和Apache FOP庫。

兩者都提供有用的與PDF相關的功能,但是iText變得越來越豐富。您可以進一步參閱《iText in Action》一書,以了解有關iText的更多信息。

12.日期和時間庫[Joda Time]

在Java 8之前,JDK的數(shù)據(jù)和時間庫存在許多缺陷,因為它們不是線程安全的,不可變的,并且不容易出錯。許多Java開發(fā)人員都依靠JodaTime來實現(xiàn)其日期和時間要求。

從JDK 8開始,沒有理由使用Joda,因為您可以在JDK 8的新日期和時間API中獲得所有功能,但是如果您使用的是較舊的Java版本,則JodaTime是一個值得學習的庫。

13.集合庫[Eclipse集合]

盡管JDK具有豐富的集合庫,但仍有一些第三方庫提供了更多選項,例如Apache Commons集合,Goldman Sachs集合,Google集合,Eclipse集合和Trove。

Trove庫特別有用,因為它為Java提供了高速的常規(guī)和原始集合。

FastUtil是另一個類似的API。它通過提供特定類型的映射,集合,列表和優(yōu)先級隊列來擴展Java Collections Framework,該隊列具有較小的內(nèi)存占用,快速的訪問和插入。它還提供了大型(64位)數(shù)組,集合和列表,以及針對二進制文件和文本文件的快速,實用的I / O類。

Eclipse Collections是另一個有用的開放課程集合庫,值得學習。

14.電子郵件API [Java Mail API]

javax.mail和Apache Commons Email都提供了用于從Java發(fā)送電子郵件的API 。它建立在旨在簡化的JavaMail API之上。

如果您需要一個項目,則可以使用Java FX構建電子郵件客戶端,并在那里使用mail API發(fā)送郵件。

15. HTML解析庫[Jsoup]

與JSON和XML相似,HMTL是我們許多人必須處理的另一種常見格式。值得慶幸的是,我們擁有JSoup,它大大簡化了Java應用程序中HTML的使用。

您可以使用JSoup不僅解析HTML,還可以創(chuàng)建HTML文檔

它提供了使用DOM,CSS和類似jquery的最佳方法來提取和處理數(shù)據(jù)的非常方便的API 。JSoup實現(xiàn)了WHATWG HTML5規(guī)范,并且像現(xiàn)代瀏覽器一樣將HTML解析為相同的DOM。

16,Apache Commons Codec

Apache Commons Codec軟件包包含用于各種格式(例如Base64和Hexadecimal)的簡單編碼器和解碼器。

除了這些廣泛使用的編碼器和解碼器之外,編解碼器包還維護了語音編碼實用程序的集合。

17.嵌入式SQL數(shù)據(jù)庫庫[H2,HSQL和Derby]

我真的很喜歡H2這樣的內(nèi)存數(shù)據(jù)庫,您可以將其嵌入Java應用程序中。它們非常適合測試SQL腳本和運行需要數(shù)據(jù)庫的單元測試。

但是,H2不是唯一的數(shù)據(jù)庫,您還可以選擇Apache Derby和HSQL。

19.聯(lián)網(wǎng)庫[Apache MINA]

一些有用的網(wǎng)絡庫是Netty和Apache MINA。如果您在編寫需要執(zhí)行低級網(wǎng)絡任務的應用程序,請考慮使用這些庫。

IT技術分享社區(qū)

個人博客網(wǎng)站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協(xié)助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

總結

以上是生活随笔為你收集整理的盘点 20多种基本Java库和API,值得收藏!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。