日志相關類庫
JDK1.4 開始,通過 java.util.logging 提供日志功能。它能滿足基本的日志需要,但是功能不是特别強大。是以我們一般都是使用:Log4j 、 SLF4j 和 LogBack
網絡庫
一些有用的網絡庫是Netty和Apache MINA。如果你正在編寫需要執行底層網絡任務的應用程式,請考慮使用這些庫。
netty 架構圖
JSON解析庫
現在Java後端開發基本上是離不開JSON了,是以我們需要有JSON庫幫我們做序列化和反序列化。
在Java後端一般使用比較多的JSON庫有 Fastjson、Gson 和 Jackson以及json-lib。這裡貼一下這幾個庫的性能對比:
日期和時間庫
在Java 8之前,JDK 的日期和時間庫有很多缺陷,因為它們不是線程安全的,不可變的,并且容易出錯。許多Java開發人員依靠JodaTime來實作他們的日期和時間要求。
JodaTime
從JDK 8開始,沒有理由使用Joda,因為你在JDK 8的新日期和時間API中獲得了所有功能,但如果你使用的是較舊的Java版本,那麼JodaTime是一個值得學習的庫。
通用類庫
在Java領域裡,在業内比較出名的工具包有兩個:commons 和 guava
我貼下這些工具包的連結 大家如果對這個不了解的話,建議去看看
- https://commons.apache.org/
- https://github.com/google/guava/wiki
加密庫
Apache Commons家族中的 Commons Codec 就提供了一些公共的編解碼實作,比如Base64, Hex, MD5,Phonetic and URLs等等。
另外常用的加密算法有:對稱加密算法,非對稱加密算法和Hash算法
常見的對稱加密算法:DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES
常見的非對稱加密算法:RSA、ECC(移動裝置用)、Diffie-Hellman、El Gamal、DSA(數字簽名用)
常見的Hash算法:MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1
資料庫類庫
- MyBatis
- Hibernate