咨询热线:400-885-2225

行业资讯

Java程序员不能错过的十个最佳库

发布时间: 2017-07-11

  众所周知,Java的生态环境相当庞大,包含了数量相当可观的官方及第三方库。利用这些库,可以解决在用Java开发时遇到的各类问题,让开发效率得到显著提升。某些库再热门也好,你的项目也未必适用。然而即便如此,大部分项目实际上都还是需要进行单元测试、日志记录、序列化、代码规范化等工作的,因此用一些相关的Java库去解决问题,还是不错的选择。下面,就让我来介绍一些可以用来解决常见开发问题的热门Java库吧。

  1.JUnit


  JUnit起源于xUnit家族的单元测试框架,目前可以说是最知名及常用的测试框架。通过JUnit,可以轻松地写出可重复测试的代码。早期版本的JUnit属于junit.framework包;而从JUnit4开始,便转移到了org.junit包。JUnit的一大特色在于给开发者提供了简洁的图形界面,如此一来编写测试代码便更为轻松,开发的进度也得以显著加快。Junit允许多个测试一个接一个,或是并发同时执行,并且会实时返回测试结果,而且还带有进度条,提示开发者测试进度如何。一般当测试正常进行时,进度条是绿的;而当遇到了错误,就会变红。此外,JUnit还允许开发者创建测试套件(TestSuite)来查看、检测整体的测试进度及测试期间发生的副作用。对于很多项目而言,单元测试是非常重要的。JUnit之所以能够成为Java圈中热门的测试库,正是因为它既简洁又高效。

  2.SLF4J


  SLF4J或SimpleLoggingFacadeforJava,为不同的框架提供了一个抽象概念,允许开发人员在部署时插入任何框架。SLF4J的功能在于基于外观模式的简单日志API,并将客户端API与日志后端分开。通过向classpath中添加所需的绑定,可以发现其后端。由于客户端API和后端完全解耦,因此它可以集成到任何框架或现有的代码片段。创建这个有用的机制的人是CekiGülcü。

  3.GoogleGuava


  GoogleGuava是Java编程的另一个受欢迎的Java核心库。GoogleGuava项目中包含的库可用于每天在谷歌上开发/升级的Java的产品。GoogleGuava软件包中的库或多或少是对核心库的对应部分有增强功能,并使编程更加高效和有效。Guava包括内存缓存、不可变集合、函数类型、图形库和可用于I/O、散列、并发、原语、字符串处理、反射等等的API实用程序。

  4.XStream


  当涉及将对象序列化到XML中时,XStream库是开发人员值得信赖的选择。该库允许开发人员轻松地将对象序列化为XML并返回。反射是这里的关键,用于识别在运行时序列化的对象图的结构。对象不需要修改。任何内部字段都可以使用XStream序列化。说到XStream的功能-大多数对象可以被序列化,并提供特定的映射,提供高性能和低内存占用,适用于具有较高吞吐量的大型对象图和系统,信息不重复,可自定义的转换策略,安全的框架,异常情况下的详细诊断等等。诸如传输,配置,持久化和单元测试等广泛的应用使它成为Java开发人员社区中流行的Java库。

  5.Log4j


  Log4j是Apache中的一个库,可用作日志工具。该工具最初由CekiGülcü开发。但是现在,ApacheSoftwareFoundation已经接管了这个项目。Log4j恰好是其所在应用领域中最可靠的库,可以扩展到支持自定义组件配置。配置语法非常简单,支持XML、YAML和JSON。Log4J提供对多个API的支持,可以在白名单应用程序中使用不同版本的Log4j或SLF4J。另一个有趣的功能是它支持用户自定义的消息对象。最重要的是,它的工作速度相当令人印象深刻。

  6.iText


  iText是用于在Java中创建和操作PDF文件的Java开源库。这个库是由包括布鲁诺·洛皮杰(BrunoLowagie)和保罗·苏亚雷斯(PauloSoares)在内的团队创建的。虽然以前的iText版本有很多限制,但最近的版本包括许多新功能,如创建pdf的选项,将文档从XML、HTML、CSS或数据库转换为PDF。生成的PDF符合全球通用标准。它还允许在PDF中添加交互性并添加数字签名。你可以复制、合并文档、导入、更改结构、在PDF中添加水印或条形码F。

  7.jsoup


  jsoup是一个有用的Java库,用于处理和解析HTML。Jsoup提供了一个有用的用于提取数据的API。jsoup中实现的标准是WHATWGHTML5。和最新的浏览器作法一样,jsoup将HTML解析为DOM。它的用途包括清理和操纵HTML元素和属性,以检索用户提交的数据并过滤掉XSS攻击属性,使用jsoup还可以完成更多功能。

  8.Gson


  Gson是Google的另一个库,它轻而易举的将JavaObjects转换成等效的JSON表示形式。虽然有一些允许将Java对象转换为JSON的开源项目,但它们要求您将Java注释放在您使用的类中。显然,如果您无法访问源代码,则无法执行此操作,此外,大多数开源项目都不支持Java泛型。Gson考虑到这些问题。它提供了简单的toJson()和fromJson()方法,可用于将Java对象和JSON互相转换。Gson库允许将不可修改的对象转换为JSON并返回。如上所述,它为Java泛型提供了极大的支持,并允许对象的自定义表示。

  9.ApachePDFbox


  ApachePDFBox是另一个可用于操作PDF文件的开源库。这个项目最初由本·利奇菲尔德(BenLitchfield)发起的,后来被Apache接管。PDFBox的主要功能使其成为超级库,其中包括PDF创建、将单个PDF分割为多个PDF文件、合并并提取PDF文本的Unicode文本,填写PDF表单,根据PDF/A标准验证PDF文件,将PDF保存为图像并对PDF进行数字签名。

  10.JodaTime


  这就是我一直强调的简单但功能强大的库,它节省了大量的开发时间。Joda-Time是一个Java库,作为Java中日期和时间类的一个很好的替代品。JodaTime很容易使用,并且像getYear()或getDayOfWeek()这样的属性访问器可以直接获取日期,及其更详细的信息。JodaTime还提供计算日期和时间的功能,并支持几乎所有需要的日期格式,而且肯定难以用简单的JDK方法进行复制。

  

上一篇: 如何开始使用RMAN的Oracle备份脚本?

下一篇: 腾科快讯-历数谷歌Go1.9语言中的新鲜特性

腾科IT教育集团 十年老品牌
微信咨询:togogoi 咨询电话:18922156670 咨询网站客服:在线客服
开班信息报名咨询
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!