天天看点

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

继续阅读