作家
登录

高效Java程序员不能错过的10+个最佳库

作者: 来源: 2017-07-05 16:28:19 阅读 我要评论

众所周知,Java 的生态情况相当宏大年夜,包含了数量相当可不雅的官方及第三方库。应用这些库,可以解决在用 Java 开辟时碰到的各类问题,闪开辟效力获得明显晋升。

举些例子,最常用的官方库有 java.lang、java.util、java.io、java.sql、java.net 等;而至于今朝最风行的第三方库,就有 Junit、SLF4J、Google Guava、XStream、JSoup、Gson、Joda Time 等,可以说是不堪列举。

我到底须要用到哪些 Java 库呢?

某些库再热点也好,你的项目也未必实用。然而即便如斯,大年夜部分项目实际上都照样须要进行单位测试、日记记录、序列化、代码规范化等工作的,是以用一些相干的 Java 库去解决问题,照样不错的选择。

用于经由过程 HTTP 协定有效地在现代应用法度榜样之间交换数据。 Okhttp 在断网时恢复连接,在多个基于 IP 的办事中切换 IP 地址。 okhttp 的一个有效的功能是与现代 TLS(SNI,ALPN)的主动连接,并且在产生故障时回到 TLS 1.0。

下面,就让我来介绍一些可以用来解决常见开辟问题的热点 Java 库吧。

01. JUnit

JUnit 来源竽暌冠 xUnit 家族的单位测试框架,今朝可以说是最有名及常用的测试框架。经由过程 JUnit,可以轻松地写出可反复测试的代码。早期版本的 JUnit 属于 junit.framework 包;而大年夜 JUnit 4 开端,便转移到了 org.junit 包。

JUnit 的一大年夜特点在于给开辟者供给了简洁的图形界面,如斯一来编写测试代码便更为轻松,开辟的进度也得以明显加快。

Junit 允很多个测试一个接一个,或是并发同时履行,并且会及时返回测试结不雅,并且还带有进度条,提示开辟者测试进度若何。一般当测试正常进行时,进度条是绿的;而当碰到了缺点,就会变红。

此外,JUnit 还许可开辟者创建测试套件 (Test Suite) 来查看、检测整体的测试进度及测试时代产生的副感化。

对于很多项目而言,单位测试是异常重要的。JUnit 之所以可以或许成为 Java 圈中最热点的测试库,恰是因为它既简洁又高效。

02. SLF4J

SLF4J 或 Simple Logging Facade for Java,为不合的框架供给了一个抽象概念,许可开辟人员在安排时插入任何框架。SLF4J 的功能在于基于外不雅模式的简单日记 API,并将客户端 API 与日记后端分开。

经由过程向 classpath 中添加快需的绑定,可以发明厥后端。因为客户端 API 和后端完全解耦,是以它可以集成到任何框架或现有的代码片段。

创建这个有效的机制的人是 Ceki Gülcü。 你可以在 SLF4J 下载链接伤下载 SLF4J。

诸如传输,设备,持久化和单位测试等广泛的应用使它成为Java开辟人员社区中风行的 Java 库。

Log4j 正好是其地点应用范畴中最靠得住的看维可以扩大到支撑自定义组件设备。设备语法异常简单,支撑 XML、YAML 和 JSON。

03. Google Guava

Google Guava 是 Java 编程的另一个受迎接的 Java 核心看维它是开源的,由 Googl 开辟的。Google Guava 项目中包含的库可用于天天在谷歌上开辟/进级的 Java 的产品。

Google Guava 软件包中的库或多或少是对核心库的对应部分有加强功能,并使编程加倍高效和有效。Guava 包含内存缓存、弗成变集合、函数类型、图形库和可用于 I/O、散列、并发、原语、字符串处理、反射等等的 API 实用法度榜样。

04. XStream

当涉及将对象序列化到 XML 中时,XStream 库是开辟人员值得信赖的选择。 该库许可开辟人员轻松地将对象序列化为 XML 并返回。

反射是这里的关键,用于辨认在运行时序列化的对象图的构造。 对象不须要修改。 任何内部字段都可以应用 XStream 序列化。

说到 XStream 的功能 - 大年夜多半对象可以被序列化,并供给特定的映射,供给高机能和低内存占用,实用于具有较高吞吐量的大年夜型对象图和体系,信息不反复,可自定义的转换策略,安然的框架,异常情况下的具体诊断等等。

05. Log4j

Log4j 是 Apache 中的一个库,可用作日记对象。该对象最初由 Ceki Gülcü 开辟。 然则如今,Apache Software Foundation 已经接收了这个项目。

Log4J 供给对多个API的支撑,可以在白名荡竽暌功用法度榜样中应用不合版本的 Log4j 或 SLF4J。另一个有趣的功能是它支撑用户自定义的消息对象。最重要的是,它的工作速度相当令人印象深刻。

iText 是用于在 Java 中创建和操作 PDF 文件的 Java 开源库。这个库是由包含布鲁诺·洛皮杰(Bruno Lowagie)和保罗·苏亚雷斯(Paulo Soares)在内的团队创建的。

固然以前的 iText 版本有很多限制,但比来的版本包含很多新功能,如创建 pdf 的选项,将文档大年夜 XML、HTML、CSS 或数据库转换为 PDF。生成的 PDF 相符全球通用标准。它还许可在 PDF 中添加交互性并添加数字签名。你可以复制、归并文档、导入、更改构造、在 PDF 中添加水印或条形码 F。

06. iText

Gson 是 Google 的另一个库,它易如反掌的将 Java Objects 转换成等效的 JSON 表示情势。

07. jsoup

jsoup 是一个有效的 Java 库,用于处理和解析 HTML。Jsoup 供给了一个有效的用于提取数据的 API。jsoup 中实现的标准是 WHATWG HTML5。和最新的浏览器作法一样,jsoup 将 HTML 解析为 DOM。

它许可或解析来自任何 URL 或文件的 HTML,例如,你可以获取 http://noeticforce.com 的主页信息,解析它,并将所有 H2 标题提取到元素列表中。

它的用处包含清理和把持 HTML 元素和属性,以检索用户提交的数据并过滤掉落 XSS 进击属性,应用 jsoup 还可以完成更多功能。

08. Gson

固然有一些许可将 Java 对象转换为 JSON 的开源项目,但它们请求您将 Java 注释放在您应用的类中。 显然,如不雅您无法拜访源代码,则无法履行此操作,此外,大年夜多半开源项目都不支撑 Java 泛型。 Gson推敲到这些问题。


  推荐阅读

  无外网环境下CentOS 7安装MySQL 5.7.18

情况解释因为工作须要,须要在一台装有 CentOS 体系的测试办事器上安装 MySQL ,因为该办事器上存有其他比较重要的测试数据,所以不克不及连接外网。因为之前安装 MySQL 一向都是应用 yu>>>详细阅读


本文标题:高效Java程序员不能错过的10+个最佳库

地址:http://www.17bianji.com/lsqh/36050.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)