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

歡迎訪問 生活随笔!

生活随笔

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

java

还在重复造轮子?Java开发人员必知必会的20种常用类库和API

發布時間:2025/3/21 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 还在重复造轮子?Java开发人员必知必会的20种常用类库和API 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

一個有經驗的Java開發人員特征之一就是善于使用已有的輪子來造車。《Effective Java》的作者Joshua Bloch曾經說過:“建議使用現有的API來開發,而不是重復造輪子”。在本文中,我將分享一些Java開發人員應該熟悉的最有用的和必要的庫和API。順便說一句,這里不包括框架,如Spring和Hibernate因為他們非常有名,都有特定的功能。

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

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

一、日志相關類庫

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

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

二、JSON解析庫

在當今世界的web服務和物聯網中(IoT),JSON已經取代了XML,成為從客戶端到服務器傳送信息的首選協議。有一個好消息和一個壞消息。壞消息是JDK沒有提供JSON庫。好消息是有許多優秀的第三方庫可以用來解析和創建JSON消息,如Jackson?和?Gson

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

三、單元測試庫

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

四、通用類庫

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

五、Http 庫

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

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

六、XML解析庫

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

七、Excel讀寫庫

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

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

八、字節碼庫

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

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

九、數據庫連接池庫

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

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

十、消息傳遞庫

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

十一、PDF處理庫

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

十二、日期和時間庫

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

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

十三、集合類庫

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

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

十四、郵件API

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

十五、HTML解析庫

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

十六、加密庫

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

十七、嵌入式SQL數據庫庫

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

十八、JDBC故障診斷庫

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

十九、序列化庫

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

二十、網絡庫

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

?

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

要相信,你遇到的問題,肯定不止你一個遇到過。

要相信,也許有很多人比你更勤奮。

要相信,你用或不用,輪子就在那里。

要相信,使用這些類庫,你和你的代碼都會變得更好。

總結

以上是生活随笔為你收集整理的还在重复造轮子?Java开发人员必知必会的20种常用类库和API的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日干,夜夜操 | 国产91热爆ts人妖系列 | 亚洲一区中文字幕在线观看 | 女生和男生一起插插插 | 欧美激情在线看 | 国产成人宗合 | 日韩精品h | 男朋友是消防员第一季 | 亚洲天堂中文在线 | 日本性生活一级片 | 天堂av在线中文 | 欧美国产大片 | 四虎影视免费永久观看在线 | 久久96| 五月激情视频 | 黄网址在线观看 | 少妇姐姐| 日韩欧美中文一区 | 看黄色网址 | 日韩在线国产精品 | 国产精品国产三级国产在线观看 | 淫综合网 | 风韵少妇性饥渴推油按摩视频 | 国产娇小hdxxxx乱 | 国产网址在线 | 亚洲视频二区 | 性做久久久久久久免费看 | 国内一级视频 | 黄色网页在线看 | 精品人妻一区二区三区潮喷在线 | 天堂8av| 日韩国产三级 | 一区二区三区播放 | 亚洲自拍网站 | 992在线观看| 国模无码大尺度一区二区三区 | 亚洲欧洲精品一区二区 | 一级成人免费 | 娇妻玩4p被三个男人伺候电影 | 成人黄色av网站 | 色图自拍偷拍 | 在线播放av网址 | 女生被男生桶 | 精品黑人一区二区三区观看时间 | 在线不卡视频 | 久久久婷 | 久久中文字幕无码 | 欧美色老头 | 欧美性生活网 | v片在线看| 精品国模一区二区三区欧美 | 伊人网在线视频观看 | 男女床上拍拍拍 | 四虎1515hh.com| 久草加勒比 | 国产一区在线视频 | av五月 | 性欧美丰满熟妇xxxx性 | 国产精品久久精品 | 麻豆午夜 | 777亚洲| 亚洲91视频| 国产成人免费在线视频 | 日韩欧美一区二区区 | 樱桃国产成人精品视频 | 丰满女邻居的色诱4hd | 午夜精品久久 | 国产精品xxx在线观看www | 色噜噜狠狠一区二区三区牛牛影视 | 免费的三级网站 | 国产三区视频 | 国产一级二级三级在线观看 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 久久艹这里只有精品 | 国产寡妇色xxⅹ交肉视频 | 成人黄色在线网站 | 澳门黄色录像 | 日韩一区二区三区在线观看视频 | 美女隐私免费看 | 日韩精品手机在线 | 久久人人爱 | www.成人在线观看 | 亚洲午夜18毛片在线看 | 国产在成人精品线拍偷自揄拍 | a点w片| 在线成年人视频 | 国产黄色的视频 | 青青草原在线免费观看视频 | 亚洲欧美在线不卡 | 精品综合久久久久 | 中文字幕在线视频第一页 | 在线国产91| 精品国产欧美一区二区三区成人 | 黄色短视频在线播放 | 欧美午夜精品久久久久免费视 | 日韩视频免费 | 一区二区免费在线观看 | 亚洲人人在线 | 国产成a人亚洲精v品在线观看 |