JavaRush /Java 博客 /Random-ZH /最节省时间的 10 个 Java 库

最节省时间的 10 个 Java 库

已在 Random-ZH 群组中发布
本文的目标读者:学习 Java 语法任务的初学者会对某些内容感兴趣,但基本上,所提供的材料更适合那些已经跨过课程赤道的人(了解 Java 集合和 Java 多线程) quests)并开始对超越 Java Core 框架的技术感兴趣。在其存在的过程中,Java 已经获得了大量的库。但你怎么知道哪些值得使用,哪些不值得呢?对于忙碌的开发商来说,去壳去麦是极其困难的。在本文中 Dreamix 的全栈开发人员 Martin Patsov 谈论了他对开源库的热爱,并提出了他认为特别有用的库的建议。最节省时间的 10 个 Java 库 - 1生存还是毁灭,这就是一个问题:同样的 Java 库最终会是拯救还是失败......勇敢一点!“SigniOrs”已经在那里了,我将把他们的经验传授给你们。 不要被我诗意的题外话误导。Java中的库确实非常多,理解它们是非常困难的。然而,我非常爱他们。我什至可以被称为“图书馆布道者”(IT领域的“布道者”不是指经典福音的编译者,而是专业推广这种或那种技术的人。不要将其与普通公关人员混淆:最常见的是,一位IT布道者对他所推广的技术有透彻的了解——编者注)。库是开源生态系统中非常重要的一部分。大型社区在他们周围成长,从而发展和支持他们。那太好了。库的主要优点是它们使我们能够避免每次编写代码时都重新发明轮子。尽可能经常使用库(已经为特定任务编写的代码)!你会节省时间。说真的,最好是与家人和朋友一起出去玩。

前10名

在这篇笔记中,我提到了我在工作中更喜欢使用的那些 Java 库。它们都是开源软件。我选择它是因为它的实用性、良好的文档和支持以及定期更新。我想再次强调,这是我个人的选择,它可能与您的有很大不同。

1.Java标准库

是的,是的,你不这么认为!而且,许多人低估了Java标准库的大量功能,不知道如何释放其编程潜力……甚至根本不使用它们。以下是其中一些的简要描述:
  • java.lang。该库总是导入到任何 Java 应用程序中,因为它包含您基本上无法编程的所有内容( String Double Enum Math等)。

  • java.util中,您可以找到 Java 中可用的所有集合和数据结构。

  • 接下来,我们有java.io用于读取文件、运行流、Pipe 类对象等。

  • 您很可能已经听说过前三个。但并不是每个人都知道java.nio ,它是java.io的替代品。该库负责非阻塞 I/O,正如您可能猜到的那样,允许 I/O 密集型使用。

  • java.net用于处理套接字、创建连接或短网络应用程序。

  • 在 Java 中,我们还有用于使用 GUI 的库:javax.swing(更旧的java.awt的相当过时的扩展)。

  • 我们甚至可以使用java.sound播放音乐并创建 MIDI 文件。

2. 潮人

JHipster 是一个快速部署、开发和创建高负载可扩展 Web 服务器的平台,并使用最现代、最时尚的技术,如 Spring、Spring-MicroServices、Netflix、Docker、Kubernetes、AngularJs、Liquibase、MongoDB、Cassandra、ElasticSearch。
最节省时间的 10 个 Java 库 - 2
老实说,这个“Java 潮人”确实救了我几个月的命。我可以肯定地说,JHipster 是我个人最喜欢的列表,并且在我心中占有特殊的位置。这个工具对于生成分布式 Web 服务器项目的草图几乎是不可或缺的。它可以生成带有依赖的pom文件,配置Elastic Search和Connection,你所要做的就是添加架构的业务逻辑。生成的项目中包含的主要和最重要的库是:
  • Spring Boot有助于加速和简化应用程序开发
  • Angular /AngularJS - JavaScript 框架
您可以在这里找到有关JHipster的更多信息。

3. Maven

Maven 是构建 Java 项目的三种最流行的工具之一。他负责编译、创建 jar 文件(Java 档案)、创建程序发行版以及生成文档。
最节省时间的 10 个 Java 库 - 3
每个现代项目都由不同的文件、模块和技术组成。简而言之,构建一个项目就是准备它的“工作”版本,即一个可以启动执行的程序。这可以在命令行上手动完成,也可以编写特殊的脚本。然而,使用特殊的应用程序来做到这一点要容易得多。它们被称为“自动装配系统”。Maven 是三个此类程序之一,另外两个是 Gradle 和 Ant。此类系统接收项目的源代码作为输入,输出是可以运行的程序。
项目结构(依赖项、配置、文档)在 pom.xml 文件(POM - 项目对象模型)中描述,该文件应位于项目的根文件夹中。老实说,Maven 是一个很棒的东西,即使一开始还不是很清楚。如果您以前从未使用过 Maven,那么您就错过了。坦白说,我什至不明白在 Maven 之前企业应用程序是如何创建的。您可以在此处阅读俄语版 Maven 。

4.阿帕奇共享资源

Apache Commons 实际上是一个专注于创建 Java 库的完整项目。或者用于各种目的的“一大组小型 Java 实用程序”。顺便说一句,Apache Commons 实用程序是几个非常知名的项目的基础,例如 Tomcat、Hibernate 等。以下是一些最常用的 Apache Commons 库的简短列表:
最节省时间的 10 个 Java 库 - 4
  • 公共数学。Apache Commons Math Library,顾名思义:它包含用于复杂数学和统计运算和计算的组件。

  • 公共 CLI。提供用于解析命令行参数的 API。如果没有传递参数和控制其行为的能力,就根本不值得考虑创建一个应用程序!

  • 共享 CSV。无论您开发什么,在某些时候您都必须处理使用 csv 文件的需要。也就是说,它们必须被打开、阅读、编辑、保存和创建。我建议在保存/创建文件时使用 CSVFormat 类中的 RFC 4180 格式和 UTF-8 编码。

  • 下议院I.O. 用于简化I/O操作。至少看一下 ReversedLinesFileReader,这是值得的!
您可以在此处阅读有关 Apache Commons(英文)的信息。

5.番石榴

Guava 是一组针对 Java 的 Google 核心库。它们是否包含新的集合类型(例如多重映射和多重集)、不可变集合、图形库、函数类型?用于并发、I/O、哈希、字符串处理等的实用程序。所有这些工具都被 Google 专家在工作中使用,这已经是一个很好的推荐。
最节省时间的 10 个 Java 库 - 5
在某种程度上,Guava 是 Apache Commons 的替代品。事实上,我们可以谈论 Guava 很长时间(一定要注意它!),但这里我只会提到这个库中的一个有用的东西。也许您已经遇到过组织收藏或比较其中内容的挑战?具有多个条件的多列的高级排序和比较怎么样?ComparisonChain组件用于实现集合的高级且复杂的排序。您可以在这里阅读有关番石榴(英文)的信息。

6. 谷歌-gson

google-gson库对于将 Java 对象转换为 JSON 非常有用,反之亦然。在开发移动应用程序和创建/使用 REST API 时,或者在需要将 Java 对象转换为其 JSON 表示形式(反之亦然)时,它特别有用。
最节省时间的 10 个 Java 库 - 6
您将从Java Collections探索 中了解 JSON(JavaScript 对象表示法)、Guava、Apache Commons 和其他有趣的东西。
您可以在此处阅读有关 google-gson(英文)的信息。

7.Hibernate-ORM

Hibernate 是一个旨在解决对象关系映射(ORM)问题的库。Hibernate ORM 用于在关系数据库中存储数据。它为开发人员提供了一种更简单、更抽象的方法来执行此操作。它在其实现中使用 JDBC。Hibernate 也是 JPA 规范的实现。
最节省时间的 10 个 Java 库 - 7
您可以在此处阅读有关 Hibernate ORM(英文)的信息。

8. 莫基托

不要让 Mockito 这个名字欺骗了您。这不是关于鸡尾酒,而是关于模拟对象的库。模拟对象是根据某种给定方案模仿真实对象行为的对象。例如,对于单元测试,这种“假”对象可以模拟业务对象的行为。嗯,Mockito 模拟库增加了创建和使用模拟对象的便利性。
最节省时间的 10 个 Java 库 - 8
您可以在这里找到有关 Mockito 的信息。

9.JUnit

JUnit是一个免费的 Java 框架,用于创建单元测试(又名单元测试)。这个库是最受欢迎的库之一,几乎每个人都使用它。我们建议您尽快掌握它,因为新的 Java 开发人员和 Java 实习生常常被迫“用测试覆盖代码”。而且,我必须说,这远非职业生涯最糟糕的开始。
最节省时间的 10 个 Java 库 - 9
有关 Junit 的更多信息请参见此处

10.Log4j和Slf4j

这两个框架旨在隐藏用于记录 Java 应用程序运行时发生的某些事件的例程操作的实现。Slf4j 是其他日志框架(相同的 Log4j)的抽象。
最节省时间的 10 个 Java 库 - 10
有关Log4jSlf4j的更多信息。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION