那些厉害的 Javaer 都在用什么?

2024-05-01 02:12
文章标签 java 厉害 er

本文主要是介绍那些厉害的 Javaer 都在用什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

优秀且经验丰富的Java开发人员的特征之一是对API的广泛了解,包括JDK和第三方库。 我花了很多时间来学习API,尤其是在阅读了Effective Java 3rd Edition之后 ,Joshua Bloch建议在Java 3rd Edition中使用现有的API进行开发,而不是为常见的东西编写新的代码。

这对我来说很有意义,因为这些第二方库都经过了测试。 在本文中,我将分享Java开发人员应该熟悉的一些最有用和最基本的库和API。 顺便说一句,我没有包括Spring和Hibernate这样的框架,因为它们是众所周知的并且具有特定的功能。

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

1、PDF库

与Microsoft Excel和World相似,PDF是另一种普遍存在的格式。 如果您需要在应用程序中支持PDF功能,例如将数据导出为PDF文件,则可以使用iText和Apache FOP库。 两者都提供有用的PDF相关功能,但是iText变得越来越丰富和完善,我一直偏爱那种。 请参阅此处以了解有关iText的更多信息。

2、日期和时间库

在Java 8之前,JDK的数据和时间库存在许多缺陷,例如它们不是线程安全的,不可变的,并且容易出错,许多Java开发人员都依靠JodaTime来实现其日期和时间要求。 从JDK 8开始,没有理由使用Joda,因为您可以在JDK 8的新Date and Time API本身中获得所有功能,但是如果您使用的是较旧的Java版本,则JodaTime是一个值得学习的库。

关注公众号:Java技术栈,回复:Java,可阅读我写的系列 Java 8+ 系列教程,也可以前往网站(https://www.javastack.cn)去阅读。

3、收藏库

尽管JDK具有丰富的集合库,但仍有一些第三方库提供了更多选项,例如Apache Commons集合,Goldman Sachs集合,Google集合和Trove。 Trove库特别有用,因为它为Java提供了高速的常规和原始集合。

FastUtil是另一个类似的API,它通过提供特定于类型的映射,集合,列表和优先级队列来扩展Java Collections Framework,而这些队列,内存,占用空间小并且可以快速访问和插入。 还为二进制文件和文本文件提供了大型(64位) arrays , sets和lists以及快速,实用的I / O类。

4、电子邮件API

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

5、JNPF

JNPF开发平台是一个基于SpringBoot+Vue3的全栈开发平台,采用微服务、前后端分离架构。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,满足快速开发;框架集成了表单、报表、图表、大屏等各种常用的Demo方便直接使用;后端框架支持Vue2、Vue3;平台即可私有化部署,也支持K8S部署。

应用地址:https://www.jnpfsoft.com

技术架构

1、数据库兼容:MySQL(默认)、SQLServer、Oracle、PostgreSQL、达数据库、人大金仓数据库

2、分布式文件存储:兼容 MinIO 及多个云对象存储,如阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS 等

3、后端基于IDEA + Eclipse +Spring Tool Suite 等开发。

4、前端基于Node.js+Vue + TypeScript +Vite+Pinia+Pnpm+ Element-ui等开发。

5、移动端开发 Node.js 开发

6、HTML解析库

与JSON和XML相似,HMTL是我们许多人必须处理的另一种常见格式。 值得庆幸的是,我们拥有jsoup,它大大简化了在Java应用程序中使用HTML的工作。 您可以使用JSoup不仅解析HTML,还可以创建HTML文档

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

7、密码库

Apache Commons Codec软件包包含用于各种格式(例如Base64和Hexadecimal)的简单编码器和解码器。 除了这些广泛使用的编码器和解码器之外,编解码器包还维护了语音编码实用程序的集合。

8、JDBC故障排除库

有一些很好的JDBC扩展库可以使调试更加容易,例如P6spy。 它是一个库,可在不更改应用程序代码的情况下无缝地拦截和记录数据库数据。 您可以使用它们来记录SQL查询及其时间。 例如,如果您在代码中使用PreparedStatment和CallableStatement ,则这些库可以记录带有参数的确切调用以及执行所需的时间。

9、序列化库

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

10、网络库

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

这就是每个Java开发人员都应该熟悉的一些有用的库 。

Java生态系统非常庞大,您会发现大量用于执行不同操作的库。 您考虑了一下,就会发现存在一个可以执行此操作的库。 与往常一样,Google是您找到有用的Java库的最佳朋友,但是您也可以查看Maven中央存储库,以找到一些适合您手头任务的有用库。

这篇关于那些厉害的 Javaer 都在用什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950478

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S