顶级Javaer都在使用的类库,真香!

点击关注公众号,Java干货及时送达👇

d6fcb3d66b0937a9343c4e83b0a463b0.png来源:网络

  • 1.日志库

  • 2.JSON解析库

  • 3.单元测试库

  • 4.通用库

  • 5.HTTP 库

  • 6.XML 解析库

  • 7.Excel 阅读库

  • 8.字节码库

  • 9.数据库连接池库

  • 10.消息库

  • 11.PDF 库

  • 12.日期和时间库

  • 13.集合库

  • 14.电子邮件 API

  • 15.HTML 解析库

  • 16.密码库

  • 17.嵌入式 SQL 数据库库

  • 18.JDBC 故障排除库

  • 19.序列化库

  • 20.网络库


优秀且经验丰富的 Java 开发人员的特点之一是对 API 的广泛了解,包括 JDK 和第三方库。如何使用现有的 API 进行开发,而不是为常见的东西编写新的代码。是提升开发效率必选之路。

一般来说,我会为日常项目提供有用的库,包括 Log4j 等日志库、Jackson 等 JSON 解析库以及 JUnit 和 Mockito 等单元测试 API。如果您需要在项目中使用它们,则可以在项目的类路径中包含这些库的 JAR 以开始使用它们,也可以使用Maven进行依赖管理。

对 Java 程序员有用的开源库

下面是收集的一些有用的第三方库,Java 开发人员可以在他们的应用程序中使用它们来完成很多有用的任务。为了使用这些库,Java 开发人员应该熟悉这一点,这就是本文的重点。如果您有一个想法,那么您可以研究该库并使用它。

1. 日志库

日志库非常常见,因为您在每个项目中都需要它们。它们对于服务器端应用程序来说是最重要的,因为日志只放置在您可以看到应用程序正在发生什么的地方。尽管 JDK 附带了自己的日志库,但仍有更好的替代方案可用,例如 Log4j、SLF4j 和 LogBack。

Java 开发人员应该熟悉日志库的优缺点,并知道为什么使用 SLF4j 比普通的 Log4j 更好。

2. JSON解析库

在当今的 Web 服务和物联网世界中,JSON 已成为将信息从客户端传输到服务器的首选协议。它们已取代 XML,成为以独立于平台的方式传输信息的首选方式。

不幸的是,JDK 没有JSON 库。但是,有许多优秀的第三方库可以让您解析和创建 JSON 消息,例如 Jackson 和 Gson。

Java Web 开发人员应该至少熟悉这些库中的一个。

3. 单元测试库

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

deae53648ef9447a7bfd9a4264820236.png

图片

4. 通用库

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

重新发明轮子是没有意义的。我们应该更喜欢使用久经考验的库,而不是时不时地编写我们自己的例程。

a43eef49c9ccae8295a18011855a6c49.png

图片

Java 开发人员最好熟悉 Google Guava 和 Apache Commons 库。

5. HTTP 库

我不喜欢 JDK 的一件事是它们缺乏对 HTTP 的支持。虽然您可以使用包中的类建立 HTTP 连接 java.net,但使用开源第三方库(如 Apache HttpClient 和 HttpCore)并不容易或无缝。

0dafd17343dd556e1380a33b5af3d484.png

图片

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

6. XML 解析库

有许多 XML 解析库,包括 Xerces、JAXB、JAXP、Dom4j 和 Xstream。Xerces2 是 Apache Xerces 系列中的下一代高性能、完全兼容的 XML 解析器。这个新版本的 Xerces 引入了 Xerces Native Interface (XNI),这是一个用于构建解析器组件和配置的完整框架,它非常模块化且易于编程。

d3f0ee0a7628cb4d95f049ae91d3591b.png

图片

Apache Xerces2 解析器是 XNI 的参考实现,但其他解析器组件、配置和解析器可以使用 Xerces Native Interface 编写。Dom4j 是另一个用于 Java 应用程序的灵活 XML 框架。

7. Excel 阅读库

信不信由你——所有现实世界的应用程序都必须以某种形式与 Microsoft Office 交互。许多应用程序需要提供在 Excel 中导出数据的功能,如果您必须从 Java 应用程序中执行相同操作,则需要 Apache POI API。

这是一个非常丰富的库,允许您 从 Java 程序读取和写入 XLS 文件。您可以查看该链接以获取在核心 Java 应用程序中读取 Excel 文件的工作示例。

8. 字节码库

如果您正在编写生成代码或与字节码交互的框架或库,那么您需要一个字节码库。

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

7af1bcca813b572e16037445145bfdce.png

图片

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

9. 数据库连接池库

如果您从 Java 应用程序与数据库进行交互,但不使用数据库连接池库,那么,您会丢失一些东西。

由于在运行时创建数据库连接需要时间并且使请求处理速度变慢,因此始终建议使用数据库连接库。一些流行的是 Commons Pool 和 DBCP。

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

10. 消息库

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

Java 提供 JMS 或 Java 消息传递服务,它不是 JDK 的一部分。对于此组件,您需要包含一个单独的 jms.jar

3c0835dad937ca7164f1929f94c5b2f2.png

图片

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

11. PDF 库

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

两者都提供有用的 PDF 相关功能,但 iText 更丰富更好。

28d9caedd101e8ce445d0c54cae02eef.png

图片

12. 日期和时间库

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

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

635f8c34786731827540cbe8ae68c97a.jpeg
图片

13. 集合库

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

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

491a81ab602476cc9ceeede7679a6a6f.jpeg
图片

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

14. 电子邮件 API

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

787b7bcc812b38a05a0e8b8a70c620f2.png

图片

15. HTML 解析库

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

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

008fea6bdfef8edf1fe319603ff6a558.png

图片

它提供了一个非常方便的 API 用于提取和操作数据,使用最好的DOM、CSS 和类似 jquery 的方法。JSoup 实现了 WHATWG HTML5 规范并将HTML解析为与现代浏览器相同的 DOM。

16.密码库

Apache Commons Codec 包包含各种格式的简单编码器和解码器,例如Base64和 Hexadecimal。

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

a43e597260c0e1396dd52ca0ec8e0a96.png

图片

17. 嵌入式 SQL 数据库库

我真的很喜欢像 H2 这样的内存数据库,你可以将它嵌入到你的 Java 应用程序中。它们非常适合测试您的 SQL 脚本和运行需要数据库的单元测试。但是,H2 不是唯一的 DB,您还可以选择 Apache Derby 和 HSQL。

71932c8347018aa5ba9b03d4355195a6.png

图片

18. JDBC 故障排除库

有一些很好的 JDBC 扩展库可以让调试更容易,比如 P6spy。

这是一个库,可以无缝拦截和记录数据库数据,而无需更改应用程序的代码。您可以使用它们来记录 SQL 查询及其时间。

例如,如果您在代码中使用PreparedStatment和CallableStatement,这些库可以记录带有参数的准确调用以及执行所需的时间。

1c170bab8c62f341501056518aff48ce.png

图片

19. 序列化库

Google 协议缓冲区是一种以高效且可扩展的格式对结构化数据进行编码的方法。它是Java 序列化的更丰富和更好的替代方案。我强烈建议有经验的 Java 开发人员学习 Google Protobuf。

559f31463e6ffbc83d3bb9b63a465821.png

图片

20. 网络库

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

340b8f72df4ea4fcbb0f399e34aa80ca.png

图片

以上就是今天小编分享给大家的一些工作中常用的库,了解并熟练的运用他们,不仅可以大大提高你的开发效率,也可以学习优秀代码的设计,提高自己的编码能力。

 
 
 
 
 
热门内容:
用上这几个开源管理系统做项目,领导看了直呼专业!
  • ChatGPT 连夜迭代:你老婆不好使了

  • 动态可监控线程池,你还没用起来吗?

  • 一个超级牛逼的实战项目!同事们模仿了一个月……

  • 955.WLB 不加班公司名单,2023 年最新版!新增 5 家公司

  • 图文详解 Java 泛型,写得太好了!

 

765bddda743091c18e2dadca4354fc7c.jpeg

 
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8403.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

让ChatGPT长“手”!Meta爆火新论文,让语言模型学会自主使用工具

鱼羊 Pine 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT爆火,Meta也坐不住了。 微软和谷歌正在搜索引擎那边刺刀拼刺刀呢,谁想Meta冷不防抛出一篇新论文,顿时吸引全场目光: 瞄准ChatGPT的“软肋”,让大语言模型自行学会…

OpenAI 何以掀翻 Google 布局多年的AI大棋?

来源: 飞哥说AI 作者|高佳 创意|李志飞 任何大卫击败歌利亚的故事, 都值得我们重新思考。 2023年从一场巨头之间的巨额合作开始,一场汹涌已久的AI暗战摆上了台面。 随着微软和 OpenAI 融资的推进,双方…

AIGC之GPT-4:GPT-4的简介(核心原理/意义/亮点/技术点/缺点/使用建议)、使用方法、案例应用(计算能力/代码能力/看图能力等)之详细攻略

AIGC之GPT-4:GPT-4的简介(核心原理/意义/亮点/技术点/缺点/使用建议)、使用方法、案例应用(计算能力/代码能力/看图能力等)之详细攻略 解读:在2022年11月横空出世的ChatGPT,打遍天下无敌手的时候,就知道会有这么一天,知…

宇宙最强-GPT-4 横空出世:最先进、更安全、更有用

文章目录 前言一、准确性提升1.创造力2.视觉输入3.更长的上下文 二、相比于ChatGPT有哪些提升1.GPT-4 的高级推理能力超越了 ChatGPT2.GPT-4 在多种测试考试中均优于 ChatGPT。 三、研究团队在GPT-4模型都做了哪些改善1.遵循 GPT、GPT-2 和 GPT-3 的研究路径2.我们花了 6 个月的…

ChatGPT五分钟写完插件,功能完善,还可加需求改BUG

开发者(KaiFaX) 面向全栈工程师的开发者 专注于前端、Java/Python/Go/PHP的技术社区 詹士 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT写代码,水平究竟如何? 不到5分钟,做出一个WordPress(一款内容管理系统…

ChatGPT无限可能性:自然语言生成的奥秘

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! ChatGPT无限可能性:自然语言生成的奥秘 数字化时代:跨越语言和文化障碍 冰岛是北大西洋中部的一个岛国,拥有充满活力的科技产业和…

太香了!用chatGPT写正则

chatGPT热度一直持续不下,我们普通人能做什么? 当然是先用起来,和自己工作结合起来,提高效率。 日常工作中正则使用少不了,可以让gpt来写正则,再也不用去小度查了。 今天推荐下朋友开发的gpt 正则工具&…

一个评测模型+10个问题,摸清盘古、通义千问、文心一言、ChatGPT的“家底”!...

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 毫无疑问,全球已经在进行大模型的军备竞赛了,“有头有脸”的科技巨头都不会缺席。昨天阿里巴巴内测了通义千问,今天华为公布了盘古大模型的最新进展。不久前百度公布了文心一言、360也公布…

【前沿技术】问答pk【ChatGPT Vs Notion AI Vs BAT AI 】

目录 写在前面 问题: 1 ChatGPT 1.1 截图 ​1.2 文字版 2 Notion AI 2.1 截图 2.2 文字版 3 BAT AI 3.1 截图 3.2 文字版 总结 序言 所有幸运和巧合的事,要么是上天注定,要么是一个人偷偷的在努力。 突发奇想,问三个…

前京东AI掌门人周伯文入局ChatGPT,亲手创立的衔远科技获天使轮融资数亿元!

日前,全球领先的专注于企业创新数智化的技术服务公司衔远科技宣布已经完成数亿元天使轮融资,本轮融资由启明创投领投,经纬创投跟投。 衔远科技成立于2021年底,致力于让每一件商品都应需而生,让每一位消费者都得偿所愿。…

前京东AI掌门人入局ChatGPT!「不设上限」招揽中国OpenAI合伙人

鱼羊 发自 凹非寺量子位 | 公众号 QbitAI4 又一技术大牛官宣入局ChatGPT。 这一回出手的,是被视作“京东AI开创者”的前京东高级副总裁,周伯文。 就在2月26日晚间,周伯文在朋友圈广发“英雄帖”,称“现不设上限诚招合伙人”&#…

AI落地:程序员如何用AI?

对于程序员来说,真正能提高效率、可落地的AI应用场景都有哪些? 目前已经能切实落地,融入我日常工作生活的有以下几个场景: 开发工作:自然语言生成代码,自动补全代码 日常工作学习:写作、翻译、…

我的周刊(第079期)

我的信息周刊,记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 ChatGPT 项目推荐 基于 ChatGPT 相关接口衍生的项…

中小学教师ChatGPT的23种用法!

中小学教师ChatGPT的23种用法! 近日,ChatGPT引发舆论风暴,火遍全球。作为一款生成式人工智能软件,ChatGPT可以就任何议题生成文本,完成包括回答问题,撰写文章、论文、诗歌在内的多种工作。各界盛赞其“有着…

【软件架构思想系列】分层架构

目录 架构思维概述 “分解+集成” 可以理解为架构最核心的思考方式和方法。

K8S 生态周报| 别慌,DockerHub 不会清退开源组织和开源项目

“ 「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]。 ” 大家好,我是张晋涛。 DockerHub 将停止个人免费版 Team 的功能 想必很多人都用过 DockerHub,Docker 刚面世的时候&#xff0c…

ChatGPT,太爆了!

大家好啊,我是了不起,一个热爱开源的程序员~ 自从去年 ChatGPT 刚刚推出的时候,我们团队就上手体验过,当时就让我感觉到非常的震惊:使用好她,绝对能将工作效率提升好几倍! 这是当时做的几个小测…

AIGC技术周报|清华、北邮新研究:让文生图AI更懂你

AIGC通过借鉴现有的、人类创造的内容来快速完成内容创作。ChatGPT、Bard等AI聊天机器人以及DallE 2、Stable Diffusion等文生图模型都属于AIGC的典型案例。「AIGC技术周报」将为你带来最新的paper、博客等前瞻性研究。 OpenAGI:当大模型遇见领域专家 “愿原力与大型…

2022.2.26 第十五次周报

文章目录 前言一、论文阅读《Interactive Learning from Policy-Dependent Human Feedback》摘要IntroductionRelated WorkPolicy-dependent反馈Convergent Actor-Critic by Humans (COACH)The Advantage Function and FeedbackConvergence and Update Rule ExperimentConclusi…

大模型论文周报 | 来自MIT、哥伦比亚大学、港科大、斯坦福、普林斯顿大学等机构前沿论文研究...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 大模型又可以称为Foundation Model模型,模型通过亿级的语料或者图像进行知识抽取,学习进而生产了亿级参数的大模型。大模型的出现迎来了AI研究的新时代,其所带来的结果提升十…