京东物流|Java程序员应该知道的20个有用的库

京东物流|Java程序员应该知道的20个有用的库

文章图片

京东物流|Java程序员应该知道的20个有用的库

文章图片


经验丰富的优秀Java开发人员的一个特点是对API(包括JDK和第三方库)有广泛的了解 。 今天分享一些Java开发人员应该熟悉的最有用、最基本的库和API 。 但是 , 我不包括框架 , 例如Spring和Hibernate , 因为它们非常有名并且具有特定的特性 。
1.日志库
日志库非常常见 , 因为在每个项目中都需要它们 。 它们对于服务器端应用程序来说是最重要的 , 因为日志只放在您可以看到应用程序运行情况的地方 。 尽管JDK自带了自己的日志库 , 但也有更好的选择 , 例如Log4j、SLF4j和LogBack 。 Java开发人员应该熟悉日志库的优点和缺点 , 并知道为什么使用SLF4j比普通Log4j更好 。
2.JSON解析库
在当今的web服务和IoT世界中 , JSON已成为将信息从客户端传送到服务器的go-to协议 。 它们已经取代了XML , 成为以独立于平台的方式传输信息的首选方式 。 虽然JDK没有JSON库 , 但是 , 有许多优秀的第三方库允许您解析和创建JSON消息 , 比如Jackson和Gson 。 JavaWeb开发人员应该至少熟悉其中一个库 。
3.单元测试库
单元测试是区分普通开发人员和优秀开发人员的重要区别 。 程序员经常会因为不编写单元测试而找借口 , 但避免单元测试最常见的借口是缺乏流行单元测试库的经验和知识 , 包括JUnit、Mockito和PowerMock 。
4.通用库
Java开发人员可以使用两个良好的通用第三方库 , 如ApacheCommons和GoogleGuava 。 我总是在我的项目中包含这些库 , 因为它们简化了很多任务 。 对于Java开发人员来说 , 熟悉GoogleGuava和ApacheCommons库是件好事 。

5.HTTP库
JDK缺乏对HTTP的支持 。 尽管可以使用java.netpackage中的类建立HTTP连接 , 但使用开源第三方库(如ApacheHttpClient和HttpCore)并不是那么容易或无缝的 。 尽管JDK9带来了对HTTP2.0的支持和对HTTP更好的支持 , 但还是建议所有Java开发人员熟悉流行的HTTP客户端库 , 包括HttpClient和HttpCore 。
6.XML解析库
有许多XML解析库 , 包括Xerces、JAXB、JAXP、Dom4j和Xstream 。 Xerces2是ApacheXerces系列中的下一代高性能、完全兼容的XML解析器 。 Xerces的新版本引入了Xerces本机接口(XNI) , 这是一个用于构建解析器组件和配置的完整框架 , 非常模块化且易于编程 。
ApacheXerces2解析器是XNI的参考实现 , 但是可以使用Xerces本机接口编写其他解析器组件、配置和解析器 。 Dom4j是另一个灵活的Java应用程序XML框架 。
7.Excel阅读库
许多应用程序需要提供在Excel中导出数据的功能 , 如果必须从Java应用程序中导出数据 , 则需要ApachePOIAPI 。 这是一个非常丰富的库 , 允许您从Java程序读取和写入XLS文件 。 您可以看到在核心Java应用程序中读取Excel文件的工作示例的链接 。
8.字节码库
如果您正在编写生成代码或与字节码交互的框架或库 , 那么您需要一个字节码库 。 它们允许您读取和修改应用程序生成的字节码 。 Java世界中一些流行的字节码库是javassist和CglibNodep 。
Javassist(JAVA编程助手)使JAVA字节码操作非常简单 。 它是一个用于在Java中编辑字节码的类库 。 ASM是另一个有用的字节码编辑库 。

9.数据库连接池库
如果您正在从Java应用程序与数据库交互 , 但没有使用数据库连接池库 , 那么您缺少了一些东西 。 由于在运行时创建数据库连接需要时间 , 并且会降低请求处理速度 , 因此建议始终使用DB连接库 。 一些流行的是CommonsPool和DBCP 。