那些厉害的 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

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定