Java 库:为 Java 程序员而生的 10 + 最佳库

Wallace71Q 7年前
   <p>众所周知,Java 的生态环境相当庞大,包含了数量相当可观的官方及第三方库。利用这些库,可以解决在用 Java 开发时遇到的各类问题,让开发效率得到显著提升。</p>    <p>举些例子,最常用的官方库有 java.lang、java.util、java.io、java.sql、java.net 等;而至于目前最流行的第三方库,就有 Junit、SLF4J、Google Guava、XStream、JSoup、Gson、Joda Time 等,可以说是不胜枚举。</p>    <h3>我到底需要用到哪些 Java 库呢?</h3>    <p>某些库再热门也好,你的项目也未必适用。然而即便如此,大部分项目实际上都还是需要进行单元测试、日志记录、序列化、代码规范化等工作的,因此用一些相关的 Java 库去解决问题,还是不错的选择。</p>    <p>下面,就让我来介绍一些可以用来解决常见开发问题的热门 Java 库吧。</p>    <h3>1. JUnit</h3>    <p>JUnit 起源于 xUnit 家族的单元测试框架,目前可以说是最知名及常用的测试框架。通过 JUnit,可以轻松地写出可重复测试的代码。早期版本的 JUnit 属于 junit.framework 包;而从 JUnit 4 开始,便转移到了 org.junit 包。</p>    <p>JUnit 的一大特色在于给开发者提供了简洁的图形界面,如此一来编写测试代码便更为轻松,开发的进度也得以显著加快。</p>    <p>Junit 允许多个测试一个接一个,或是并发同时执行,并且会实时返回测试结果,而且还带有进度条,提示开发者测试进度如何。一般当测试正常进行时,进度条是绿的;而当遇到了错误,就会变红。</p>    <p>此外,JUnit 还允许开发者创建测试套件 (Test Suite) 来查看、检测整体的测试进度及测试期间发生的副作用。</p>    <p>对于很多项目而言,单元测试是非常重要的。JUnit 之所以能够成为 Java 圈中最热门的测试库,正是因为它既简洁又高效。</p>    <p><a href="/misc/goto?guid=4959750233125862011" rel="nofollow,noindex">点击这里</a> 来深入了解一下 JUnit。</p>    <h3>2. SLF4J</h3>    <p>SLF4J 或 Simple Logging Facade for Java,为不同的框架提供了一个抽象概念,允许开发人员在部署时插入任何框架。SLF4J 的功能在于基于外观模式的简单日志 API,并将客户端 API 与日志后端分开。</p>    <p>通过向 classpath 中添加所需的绑定,可以发现其后端。由于客户端 API 和后端完全解耦,因此它可以集成到任何框架或现有的代码片段。</p>    <p>创建这个有用的机制的人是 Ceki Gülcü。 你可以在 <a href="/misc/goto?guid=4959750233224091965" rel="nofollow,noindex">SLF4J</a> 下载链接伤下载 SLF4J。</p>    <p>你可能还会喜欢 - <a href="/misc/goto?guid=4959750233306269417" rel="nofollow,noindex">最佳 Java 框架</a> 。</p>    <h3>3. Google Guava</h3>    <p>Google Guava 是 Java 编程的另一个受欢迎的 Java 核心库,它是开源的,由 Googl 开发的。Google Guava 项目中包含的库可用于每天在谷歌上开发/升级的 Java 的产品。</p>    <p>Google Guava 软件包中的库或多或少是对核心库的对应部分有增强功能,并使编程更加高效和有效。Guava 包括内存缓存、不可变集合、函数类型、图形库和可用于 I/O、散列、并发、原语、字符串处理、反射等等的 API 实用程序。</p>    <p>在这里查看更多关于 Google Guava 的信息—— <a href="/misc/goto?guid=4959750233389936408" rel="nofollow,noindex">Core Java Libraries - Google </a></p>    <h3>4. XStream</h3>    <p>当涉及将对象序列化到 XML 中时,XStream 库是开发人员值得信赖的选择。 该库允许开发人员轻松地将对象序列化为 XML 并返回。</p>    <p>反射是这里的关键,用于识别在运行时序列化的对象图的结构。 对象不需要修改。 任何内部字段都可以使用 XStream 序列化。</p>    <p>说到 XStream 的功能 - 大多数对象可以被序列化,并提供特定的映射,提供高性能和低内存占用,适用于具有较高吞吐量的大型对象图和系统,信息不重复,可自定义的转换策略,安全的框架,异常情况下的详细诊断等等。</p>    <p>诸如传输,配置,持久化和单元测试等广泛的应用使它成为Java开发人员社区中流行的 Java 库。</p>    <p>您可以在这里下载: <a href="/misc/goto?guid=4959750233470781804" rel="nofollow,noindex">Xstream - 对象到 XML</a> 。</p>    <h3>5. Log4j</h3>    <p>Log4j 是 Apache 中的一个库,可用作日志工具。该工具最初由 Ceki Gülcü 开发。 但是现在,Apache Software Foundation 已经接管了这个项目。</p>    <p>Log4j 恰好是其所在应用领域中最可靠的库,可以扩展到支持自定义组件配置。配置语法非常简单,支持 XML、YAML 和 JSON。</p>    <p>Log4J 提供对多个API的支持,可以在白名单应用程序中使用不同版本的 Log4j 或 SLF4J。另一个有趣的功能是它支持用户自定义的消息对象。最重要的是,它的工作速度相当令人印象深刻。</p>    <p>你可以在这里下载 - <a href="/misc/goto?guid=4959750233555436100" rel="nofollow,noindex">Log4J</a></p>    <h3>6. iText</h3>    <p>iText 是用于在 Java 中创建和操作 PDF 文件的 Java 开源库。这个库是由包括布鲁诺·洛皮杰(Bruno Lowagie)和保罗·苏亚雷斯(Paulo Soares)在内的团队创建的。</p>    <p>虽然以前的 iText 版本有很多限制,但最近的版本包括许多新功能,如创建 pdf 的选项,将文档从 XML、HTML、CSS 或数据库转换为 PDF。生成的 PDF 符合全球通用标准。它还允许在 PDF 中添加交互性并添加数字签名。你可以复制、合并文档、导入、更改结构、在 PDF 中添加水印或条形码 F。</p>    <p>了解更多关于 iText 在这里 - <a href="/misc/goto?guid=4958184545387475197" rel="nofollow,noindex">iText PDF library for Java</a></p>    <h3>7. jsoup</h3>    <p>jsoup 是一个有用的 Java 库,用于处理和解析 HTML。Jsoup 提供了一个有用的用于提取数据的 API。jsoup 中实现的标准是 WHATWG HTML5。和最新的浏览器作法一样,jsoup 将 HTML 解析为 DOM。</p>    <p>它允许或解析来自任何 URL 或文件的 HTML,例如,你可以获取 <a href="/misc/goto?guid=4959750233672221562" rel="nofollow,noindex">http://noeticforce.com</a> 的主页信息,解析它,并将所有 H2 标题提取到元素列表中。</p>    <p>它的用途包括清理和操纵 HTML 元素和属性,以检索用户提交的数据并过滤掉 XSS 攻击属性,使用 jsoup 还可以完成更多功能。</p>    <p>在这里下载 jsoup - <strong> <a href="/misc/goto?guid=4959750233757851560" rel="nofollow,noindex">Jsoup</a> </strong></p>    <h3>8. Gson</h3>    <p>Gson 是 Google 的另一个库,它轻而易举的将 Java Objects 转换成等效的 JSON 表示形式。</p>    <p>虽然有一些允许将 Java 对象转换为 JSON 的开源项目,但它们要求您将 Java 注释放在您使用的类中。 显然,如果您无法访问源代码,则无法执行此操作,此外,大多数开源项目都不支持 Java 泛型。 Gson考虑到这些问题。</p>    <p>它提供了简单的 toJson()和 fromJson()方法,可用于将 Java 对象和 JSON 互相转换。 Gson 库允许将不可修改的对象转换为 JSON 并返回。 如上所述,它为 Java 泛型提供了极大的支持,并允许对象的自定义表示。</p>    <p>这是 Java Gson 库的下载链接 - <a href="/misc/goto?guid=4959750233828432798" rel="nofollow,noindex">下载 Gson</a> 。</p>    <h3>9. Apache PDF box</h3>    <p>Apache PDFBox 是另一个可用于操作 PDF 文件的开源库。这个项目最初由本·利奇菲尔德(Ben Litchfield)发起的,后来被 Apache 接管。</p>    <p>PDFBox 的主要功能使其成为超级库,其中包括 PDF 创建、将单个 PDF 分割为多个 PDF 文件、合并并提取 PDF 文本的 Unicode 文本,填写 PDF 表单,根据 PDF/A 标准验证 PDF 文件,将 PDF 保存为图像并对 PDF 进行数字签名。</p>    <p>请在这里查看 —— <a href="/misc/goto?guid=4959750233928324580" rel="nofollow,noindex">Apache PDFBox</a></p>    <p> </p>    <p>来自:https://www.oschina.net/translate/useful-java-libraries-for-java-programmers</p>    <p> </p>