今天给大家收集的一些有用的第三方库,Java开发人员应该掌握,欢迎收藏!

1.单元测试库[JUnit和Mockito]

单元测试是将普通开发人员与优秀开发人员区分开的最重要的事情。经常为程序员提供不编写单元测试的借口,但是避免单元测试的最常见借口是缺乏流行的单元测试库(包括JUnit,Mockito和PowerMock)的经验和知识。

2. JSON解析库[Jackson和Gson]

在当今的Web服务和IoT世界中,JSON已成为将信息从客户端传输到服务器的首选协议。他们已经将XML替换为以独立于平台的方式传输信息的最优选方式。

不幸的是,JDK没有JSON库。但是,有很多不错的第三方库,例如Jackson和Gson,它们都可以让您解析和创建JSON消息。

3.记录库[Log4j2和SLF4j]

日志记录库非常常见,因为在每个项目中都需要它们。对于服务器端应用程序而言,它们是最重要的事情,因为日志仅放置在您可以看到应用程序中正在发生什么的地方。

即使JDK附带了自己的日志记录库,也可以使用更好的替代方法,例如Log4j,SLF4j和LogBack。

4.通用库[Apache Commons和Guava]

Java开发人员可以使用几个不错的通用第三方库,例如Apache Commons和Google Guava。我总是将这些库包含在我的项目中,因为它们简化了许多任务。

正如约书亚·布洛赫(Joshua Bloch)在“有效Java”中正确说的那样,重新发明轮子没有意义。我们应该更喜欢使用经过测试和测试的库,而不是时不时地编写我们自己的例程。

对于Java开发人员来说,熟悉Google Guava和Apache Commons库是一件好事。

5. HTTP库[HttpClient]

我不喜欢JDK的一件事是它缺乏对HTTP的支持。尽管您可以使用java.net包中的类进行HTTP连接,但是使用开放源代码的第三方库(如Apache HttpClient和HttpCore)并不是那么容易或无缝。

尽管JDK 9带来了HTTP 2.0的支持以及对HTTP的更好支持,但我强烈建议所有Java开发人员熟悉流行的HTTP客户端库,包括HttpClient和HttpCore。

6. XML解析库[Xerces和JAXB]

有许多XML解析库,包括Xerces,JAXB,JAXP,Dom4j和Xstream。Xerces2是Apache Xerces系列中的下一代高性能,完全兼容的XML解析器。

Xerces的这个新版本引入了Xerces本机接口(XNI),它是用于构建解析器组件和配置的完整框架,该框架非常模块化且易于编程。

Apache Xerces2解析器是XNI的参考实现,但是可以使用Xerces本机接口编写其他解析器组件,配置和解析器。

Dom4j是用于Java应用程序的另一个灵活的XML框架。

7. Excel阅读库[Apache POI]

信不信由你–所有现实世界中的应用程序都必须以某种形式与Microsoft Office进行交互。

许多应用程序都需要提供在Excel中导出数据的功能,如果必须从Java应用程序中进行导出,则需要Apache POI API。

这是一个非常丰富的库,可让您从Java程序读取和写入XLS文件。

8.字节码库[Javassist和CgLib]

如果要编写一个框架或库来生成代码或与字节码进行交互,则需要一个字节码库。

它们使您可以读取和修改应用程序生成的字节码。Java世界中一些流行的字节码库是javassist和Cglib Nodep。

Javassist(JAVA编程ASSISTant)使Java字节码操作非常简单。它是用于在Java中编辑字节码的类库。ASM是另一个有用的字节码编辑库。

9.数据库连接池库[DBCP和C3P0]

如果要通过Java应用程序与数据库进行交互,但不使用数据库连接池库,那么您将丢失某些内容。

由于在运行时创建数据库连接会花费时间并且使请求处理变慢,因此始终建议使用DB连接库。最受欢迎的是Commons Pool和DBCP。

在Web应用程序中,其Web服务器通常提供这些功能,但是在核心Java应用程序中,您需要将这些连接池库包括在类路径中,以使用数据库连接池。

10.消息传递库[JMS和MQ]

与日志记录和数据库连接类似,消息传递也是许多实际Java应用程序的共同功能。

Java提供了JMS或Java Messaging Service,它不是JDK的一部分。对于此组件,您需要包括一个单独的jms.jar。

同样,如果您使用的是Tibco RV之类的第三方消息传递协议,则需要tibrv.jar 在应用程序类路径中使用第三方JAR — —。

11. PDF库[iText]

与Microsoft Excel相似,PDF库是另一种普遍存在的格式。如果需要在应用程序中支持PDF功能,例如导出PDF文件中的数据,则可以使用iText和Apache FOP库。

两者都提供有用的与PDF相关的功能,但是iText变得越来越丰富。您可以进一步参阅《iText in Action》一书,以了解有关iText的更多信息。

12.日期和时间库[Joda Time]

在Java 8之前,JDK的数据和时间库存在许多缺陷,因为它们不是线程安全的,不可变的,并且不容易出错。许多Java开发人员都依靠JodaTime来实现其日期和时间要求。

从JDK 8开始,没有理由使用Joda,因为您可以在JDK 8的新日期和时间API中获得所有功能,但是如果您使用的是较旧的Java版本,则JodaTime是一个值得学习的库。

13.集合库[Eclipse集合]

尽管JDK具有丰富的集合库,但仍有一些第三方库提供了更多选项,例如Apache Commons集合,Goldman Sachs集合,Google集合,Eclipse集合和Trove。

Trove库特别有用,因为它为Java提供了高速的常规和原始集合。

FastUtil是另一个类似的API。它通过提供特定类型的映射,集合,列表和优先级队列来扩展Java Collections Framework,该队列具有较小的内存占用,快速的访问和插入。它还提供了大型(64位)数组,集合和列表,以及针对二进制文件和文本文件的快速,实用的I / O类。

Eclipse Collections是另一个有用的开放课程集合库,值得学习。

14.电子邮件API [Java Mail API]

javax.mail和Apache Commons Email都提供了用于从Java发送电子邮件的API 。它建立在旨在简化的JavaMail API之上。

如果您需要一个项目,则可以使用Java FX构建电子邮件客户端,并在那里使用mail API发送邮件。

15. HTML解析库[Jsoup]

与JSON和XML相似,HMTL是我们许多人必须处理的另一种常见格式。值得庆幸的是,我们拥有JSoup,它大大简化了Java应用程序中HTML的使用。

您可以使用JSoup不仅解析HTML,还可以创建HTML文档

它提供了使用DOM,CSS和类似jquery的最佳方法来提取和处理数据的非常方便的API 。JSoup实现了WHATWG HTML5规范,并且像现代浏览器一样将HTML解析为相同的DOM。

16,Apache Commons Codec

Apache Commons Codec软件包包含用于各种格式(例如Base64和Hexadecimal)的简单编码器和解码器。

除了这些广泛使用的编码器和解码器之外,编解码器包还维护了语音编码实用程序的集合。

17.嵌入式SQL数据库库[H2,HSQL和Derby]

我真的很喜欢H2这样的内存数据库,您可以将其嵌入Java应用程序中。它们非常适合测试SQL脚本和运行需要数据库的单元测试。

但是,H2不是唯一的数据库,您还可以选择Apache Derby和HSQL。

19.联网库[Apache MINA]

一些有用的网络库是Netty和Apache MINA。如果您在编写需要执行低级网络任务的应用程序,请考虑使用这些库。

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

盘点 20多种基本Java库和API,值得收藏!相关推荐

  1. 玩转Python必备:史上最全的Python库,【值得收藏,事半功倍】

    库名称     简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器 ...

  2. c++工具库大全(值得收藏)

    转自:http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419 值得学习的C语言开源项目 - 1. Webbench Webbench是 ...

  3. android开发之网络棋牌类在线游戏开发心得(服务器端、Java) 好文章值得收藏...

    标签: android服务器 2013-10-09 17:28 3618人阅读 评论(0) 收藏 举报 分类: android (11) 转自:http://blog.csdn.net/bromon/ ...

  4. 自学Java的十条建议(值得收藏)

    自学Java的十条建议,学习的道路上必定是孤单的,想要通过自学Java然后获得不错的工作,那必定需要我们下定决心,制定好合理的Java学习路线,下面小编就给准备自学Java的小伙伴提出十条建议,希望对 ...

  5. 零基础学Java的书籍,值得收藏

    由于Java教程的书籍比较多,不少Java小白在学习的过程中对于学习Java看什么书感到很困惑.下面我们就来了解一下到底学Java应该看什么书吧. 经过初中高级Java程序员的访问和调查,得出了最受J ...

  6. 20个公开课网址大全,值得收藏、慢慢学习

    12个中文学习网站 1.爱课程(中国大学MOOC) https://www.icourse163.org/university/icourse/#/c 2.智慧树 https://www.zhihui ...

  7. java api 开发_Java开发人员应该知道的前20个库和API

    java api 开发 优秀且经验丰富的Java开发人员的特征之一是对API的广泛了解,包括JDK和第三方库. 我花了很多时间来学习API,尤其是在阅读了Effective Java 3rd Edit ...

  8. Java开发人员应该知道的前20个库和API

    优秀且经验丰富的Java开发人员的特征之一是对API的广泛了解,包括JDK和第三方库. 我花了很多时间来学习API,尤其是在阅读了Effective Java 3rd Edition之后 ,Joshu ...

  9. 优秀Java程序员应该知道的20个实用开源库

    一个优秀且经验丰富的Java开发人员的特点之一是对API的广泛了解,包括JDK和第三方库.我花了很多时间学习API,特别是在阅读Effective Java 3rd Edition之后,Joshua ...

最新文章

  1. Unity创建游戏VFX视觉特效-初级到中级
  2. 《你的灯亮着吗》读书笔记3
  3. linux+C环境下动态管理头文件和库文件
  4. 90%的程序员都写错的算法-二分查找万能模版
  5. 01需求工程-软件建模与分析阅读笔记
  6. 逻辑电平0和1的世界
  7. C++中友元函数,友元类数详解
  8. java md5 密钥_Java 生成16/32位 MD5密钥串
  9. 阿里 异构数据 mysql_异构数据库迁移
  10. mysql存储过程执行报错1175_mysql 数据库 存储过程执行报错的解决办法
  11. 年味十足的手绘年画风新年春节海报PSD模板
  12. android真机调试看不到logcat信息
  13. linux nightshift调整,iOS9.3夜间模式怎么设置?iOS9.3 Night Shift设置教程
  14. 浅入浅出数据结构(18)——希尔排序
  15. 现在的孩子太厉害了阿(老朱语:长江后浪推前浪)
  16. 全国高等院校英语能力大赛模拟题
  17. wps office有计算机应用吗,wps office
  18. 高效程序员的45个习惯
  19. 旋转Kubernetes中的秘密
  20. x4提示你的产品已经被禁用_win10系统注册表已被管理员禁用的解决方法

热门文章

  1. [转]sudoers设置
  2. GDB技巧:使用checkpoint解决难以复现的Bug
  3. ARM版本系列及家族成员梳理
  4. HALCON示例程序measure_screw.hdev螺纹尺寸测量
  5. Halcon —— 边缘检测算子详解
  6. 翻译python语言命令_有道词典命令行快速翻译,Python编程的利器
  7. python刷抖音_用Python生成抖音字符视频!
  8. 第4章 Python 数字图像处理(DIP) - 频率域滤波1 - 傅里叶级数和变换简史
  9. graphviz 画决策树_数据挖掘入门系列教程(四)之基于scikit-lean决策树处理Iris
  10. 使用ASP.Net WebAPI构建REST服务(一)——简单的示例