国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

程序員必須搞懂的20個Java類庫和API

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

 [[265007]]

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

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

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

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

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

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

二、JSON解析庫

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

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

三、單元測試庫

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

四、通用類庫

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

五、Http 庫

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

盡管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)。該解析器是完全重新設(shè)計和實現(xiàn)的,更簡單以及模塊化。

七、Excel讀寫庫

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

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

八、字節(jié)碼庫

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

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

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

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

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

十、消息傳遞庫

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

十一、PDF處理庫

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

[[265009]]

十二、日期和時間庫

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

[[265010]]

但是在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,提供了數(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的基礎(chǔ)上,提供簡化的用法。

十五、HTML解析庫

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

[[265011]]

十六、加密庫

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

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

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

十八、JDBC故障診斷庫

有不錯的JDBC擴展庫的存在使得調(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)用程序。其配置完成使用時,可以進行數(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)、可擴展的序列化結(jié)構(gòu)數(shù)據(jù)格式。目前提供了 C++、Java、Python 三種語言的 API。

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

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

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

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

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

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

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

責任編輯:龐桂玉 來源: java版web項目
相關(guān)推薦

2019-07-19 09:21:54

Java開源庫程序員

2018-07-02 10:15:11

Java程序員注解

2021-11-01 22:39:14

程序員專業(yè)技術(shù)

2009-06-25 09:33:43

Java API程序員

2020-03-22 15:54:14

全棧開發(fā)框架

2023-10-12 18:00:34

Git系統(tǒng)命令

2016-02-16 09:44:18

程序員設(shè)計師CSS工具

2019-03-05 16:21:44

Java開發(fā)代碼

2012-11-08 09:49:30

C++Java程序員

2021-04-16 10:28:54

SQLJava代碼

2009-06-15 10:43:45

Java程序員Java程序GC

2009-03-31 14:28:48

程序員心里話職場

2021-02-24 09:26:03

JavaGC程序員

2019-08-16 11:16:25

Java程序員流程圖

2018-11-29 15:00:27

Java應(yīng)用程序性能指標

2024-03-20 17:35:42

2017-11-14 21:30:15

2022-08-10 14:51:33

開源Java工具

2009-01-07 09:52:37

程序員愛情工作

2009-09-15 16:16:35

代碼習慣
點贊
收藏

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

亚洲精品大尺度| 911国产网站尤物在线观看| 如如影视在线观看经典| 亚洲国产乱码最新视频| 久久久久国产精品嫩草影院| 亚洲精品电影在线| 国产99久久精品一区二区永久免费| 久草网在线视频| 91精品国产免费久久综合| 在线视频cao| 好吊色欧美一区二区三区| 久久精品麻豆| 成人在线中文字幕| 俺要去色综合狠狠| 97福利一区二区| 亚洲综合影院| 日本欧美一二三区| 亚洲美女15p| 欧美日韩一区二区免费视频| 97中文字幕在线| 一本色道久久综合亚洲精品高清| 91久久久久久久久久久久久| 妖精视频一区二区三区免费观看 | 视频在线观看成人| 久久久久久久精| 久草在线免费二| 欧美日韩国产精品自在自线| 黄色免费在线观看网站| 亚洲欧美日韩视频一区| 日韩精品福利一区二区三区| 自拍偷拍99| 97成人在线视频| 亚洲精品女人| 手机看片福利日韩| 在线精品视频一区二区| 国产在视频一区二区三区吞精| 国产成人一区二区三区| 久操视频在线观看| 国产日韩欧美中文| 99久久免费国产| 成人免费视频免费观看| 亚洲不卡在线| 超碰免费在线观看| 欧美12av| 欧美日韩亚洲精品内裤| 久久精品视频免费| 97涩在线观看视频| 亚洲色图欧美偷拍| 日韩三级免费| 欧美精品一区二区三区在线| 国产乱色在线观看| 91精品国产综合久久香蕉922| 国产欧美综合在线观看第十页| 欧洲在线一区| 在线黄色国产电影| 97中文在线观看| 久久精品人人做人人综合 | av免费在线免费| 日韩欧美亚洲日产国| 黑人巨大国产9丨视频| 欧美在线free| 婷婷另类小说| 成人免费高清在线播放| 51精品国产黑色丝袜高跟鞋| 欧美日韩免费观看一区二区三区 | av动漫免费看| 97超级碰在线看视频免费在线看| 欧美日韩一级片网站| 国产v综合v亚洲欧| 欧美天堂在线| 嫩草影院2018| 91香蕉视频在线下载| 国产91丝袜在线18| 色屁屁www国产馆在线观看| 欧美日本亚洲视频| www.爱久久.com| 天堂在线中文网官网| 国产精品99久久久久久久女警 | 18禁男女爽爽爽午夜网站免费| 在线不卡免费av| 青娱乐精品在线视频| 精品一区二区三区的国产在线观看| 日韩精品最新在线观看| 欧美久久高跟鞋激| 国产精品v一区二区三区| 成人手机在线播放| 91精品国产乱| 伊人精品在线| 啊啊啊久久久| 在线观看国产一级片| 国产高清自拍一区| 精品国产一区二区在线| 一区二区成人在线| 伊人久久综合| 国内自拍欧美| 日韩av中文字幕在线播放| 伊人精品视频| 黄色片网站在线观看| 精品国产一区二区三区四区精华 | 神马午夜伦理不卡| 美女精品国产| 91精品国产福利| 在线亚洲成人| 色av手机在线| 福利网在线观看| 亚洲美女又黄又爽在线观看| 国产精品综合久久| 日韩毛片网站| 波多野结衣xxxx| 国产精品久久久久久久久免费看| 一区二区三区在线观看国产| 欧美精选视频在线观看| 一二三区在线视频| 久久久久天天天天| 精品无人区乱码1区2区3区在线 | 亚洲国产一成人久久精品| 国产精品毛片一区二区三区四区| 国产一区再线| 亚洲欧美日韩精品久久奇米色影视| 成人精品视频网站| 久久精品凹凸全集| 最新亚洲伊人网| 精品国产一区二区三区四区精华| 日韩美女一区二区三区四区| 老司机精品视频一区二区三区| 好看的日韩精品| 91在线一区| 国产精品毛片无遮挡高清| 在线区一区二视频| 色偷偷成人一区二区三区91| 主播福利视频一区| 精品无人区乱码1区2区3区在线| 精品国产乱码久久久久久图片| 日韩欧美一二三| 成人综合色站| 蜜桃传媒视频第一区入口在线看| 国产日韩欧美在线视频观看| 精品国产乱码久久久久软件| 成人女保姆的销魂服务| 国产成人av一区| 88国产精品视频一区二区三区| 5858s免费视频成人| 亚洲欧美久久久| 欧美香蕉视频| 国产福利电影| 欧美不卡三区| 欧美大胆在线视频| 欧美午夜寂寞影院| 欧美性bbwbbwbbwhd| 久久综合九色欧美狠狠| 国产脚交av在线一区二区| 97在线看福利| 国产精品伊人日日| 欧美一区二区中文字幕| 男人免费av| segui88久久综合9999| 久久视频社区| 亚洲毛片播放| 久久免费电影网| **欧美大码日韩| 欧美国产日本在线| 国产免费福利网站| 99精品国产一区二区| 在线激情影院一区| 欧美性猛交99久久久久99按摩| 国产成人精品一区二区三区四区 | 91色琪琪电影亚洲精品久久| 亚洲国产天堂久久国产91| 亚洲日本欧美天堂| 伊人天天久久大香线蕉av色| 老司机2019福利精品视频导航| 亚洲激情中文| 在线播放日韩导航| 日韩美女视频在线观看| 1024精品视频| 欧美成人毛片| 久久久久久久一区| 亚洲精选av| 岛国片av在线| 校园春色综合| 亚洲成人福利在线观看| 日本不卡高清视频一区| 国产一区欧美二区三区| 久久亚洲精品一区| 亚洲国产精彩中文乱码av在线播放| 亚洲成人久久影院| 久久精品人人爽人人爽| 国产自产2019最新不卡| 亚洲国产清纯| 久久中文字幕av| 国产成人一二片| 成人性生交大片免费观看网站| 你懂的在线看| 福利片在线免费观看| 国产特级淫片高清视频| 奇米精品在线| 国产一区二区视频在线免费观看| 国产精品男女猛烈高潮激情| 久久久久久久久久国产精品| 在线播放日韩av|