天天看點

Java 必知必會的幾種常用類庫

作者:成長中的程式員

日志相關類庫

JDK1.4 開始,通過 java.util.logging 提供日志功能。它能滿足基本的日志需要,但是功能不是特别強大。是以我們一般都是使用:Log4j 、 SLF4j 和 LogBack

網絡庫

一些有用的網絡庫是Netty和Apache MINA。如果你正在編寫需要執行底層網絡任務的應用程式,請考慮使用這些庫。

Java 必知必會的幾種常用類庫

netty 架構圖

JSON解析庫

現在Java後端開發基本上是離不開JSON了,是以我們需要有JSON庫幫我們做序列化和反序列化。

在Java後端一般使用比較多的JSON庫有 Fastjson、Gson 和 Jackson以及json-lib。這裡貼一下這幾個庫的性能對比:

Java 必知必會的幾種常用類庫

日期和時間庫

在Java 8之前,JDK 的日期和時間庫有很多缺陷,因為它們不是線程安全的,不可變的,并且容易出錯。許多Java開發人員依靠JodaTime來實作他們的日期和時間要求。

Java 必知必會的幾種常用類庫

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

繼續閱讀