52类110个主流Java组件和框架

2023-10-27

以下排序是按照从技术组件到开发框架到代码工具,也有一些实在不好分类的,就放到最后了。

WEB 容器

Tomcat
https://tomcat.apache.org/

Jetty
https://www.jetty.com/

JBoss
https://www.jboss.org/

Resin
https://caucho.com/products/resin

数据库

H2
https://h2database.com/

SQLite
https://www.sqlite.org/

MySQL
https://www.mysql.com/

Oracle
https://www.oracle.com/index.html

SQL Server
https://www.microsoft.com/en-us/sql-server/sql-server-downloads

PostgreSQL
https://www.postgresql.org/

MariaDB
https://mariadb.org/

缓存

Redis
https://redis.io/
Memcached
https://memcached.org/

消息队列

Kafka
https://kafka.apache.org/

RocketMQ
https://rocketmq.apache.org/

Pulsar
https://pulsar.apache.org/

RabbitMQ
https://www.rabbitmq.com/

负载均衡

LVS
http://www.linuxvirtualserver.org/

NGINX
https://www.nginx.com/

分布式存储

Ceph
https://docs.ceph.com/

HDFS
https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

数据库集群
MHA

https://github.com/yoshinorim/mha4mysql-manager

分布式协调
ZooKeeper

https://zookeeper.apache.org/

大数据相关

Storm
https://storm.apache.org/

Flink
https://flink.apache.org/

Spark
https://spark.apache.org/

HBase
https://hbase.apache.org/

Flink
https://flink.apache.org/

ClickHouse
https://clickhouse.com/

Doris
https://doris.apache.org/

日志收集与分析

Filebeat
https://www.elastic.co/beats/filebeat

Logstash
https://www.elastic.co/logstash/

Kibana
https://www.elastic.co/kibana

搜索
Elasticsearch
https://www.elastic.co/

系统监控
SkyWalkinghttps://skywalking.apache.org/

zipkinhttps://zipkin.io/

分库分表
ShardingSpherehttps://shardingsphere.apache.org/

Mycat2
http://mycatone.top/

微服务
Spring Cloud
https://spring.io/projects/spring-cloud

RPC 框架

Dubbo
https://github.com/apache/dubbo

gRPC
https://github.com/grpc/grpc-java

网络框架
Netty
https://netty.io/

MVC 框架
Spring Framework
https://spring.io/projects/spring-framework

Spring Boot
https://spring.io/projects/spring-boot

数据层框架

MyBatis
https://github.com/mybatis/mybatis-3

MyBatis-Plus
https://github.com/baomidou/mybatis-plus

Hibernate
http://hibernate.org/orm/

数据库连接池
HikariCP
https://github.com/brettwooldridge/HikariCP

Druid
https://github.com/alibaba/druid

Redis 客户端
Jedis
https://github.com/xetorthio/jedis

Redisson
https://github.com/redisson/redisson

Rest 接口设计与开发
Swagger
https://swagger.io/

数据参数校验
Hibernate Validator
https://hibernate.org/validator/

安全相关
Shiro
https://shiro.apache.org/

Bouncy Castle
https://www.bouncycastle.org/java.html

jjwt
https://github.com/jwtk/jjwt

Reactive 编程
Akka
https://akka.io/

RxJava
https://github.com/ReactiveX/RxJava

vert.x
https://vertx.io/

单元测试
JUnit
https://junit.org/junit5/

测试辅助
JMockit
http://jmockit.github.io/

Mockito
https://github.com/mockito/mockito

JMeter
http://jmeter.apache.org/

Selenium
https://www.selenium.dev/

日志记录
Log4j2
https://logging.apache.org/log4j/

Logback
http://logback.qos.ch/

SLF4J
http://www.slf4j.org/

代码质量检查
Checkstyle
https://github.com/checkstyle/checkstyle

Spotbugs
https://github.com/spotbugs/spotbugs

代码生成
Lombok
https://projectlombok.org/

领域语言定制
ANTLR
https://www.antlr.org/

配置文件解析
config
https://github.com/lightbend/config

序列化格式
Avro
https://avro.apache.org/

Thrift
https://thrift.apache.org/

Protobuf
https://github.com/protocolbuffers/protobuf

模板引擎
Freemarker
https://freemarker.apache.org/

Thymeleaf
https://www.thymeleaf.org/

Office 文档处理
POI
https://poi.apache.org/

PDF 处理
iText
https://itextpdf.com/en

Apache PDFBox
https://pdfbox.apache.org/

高性能队列
Disruptor
https://lmax-exchange.github.io/disruptor/

HTTP 客户端
Async Http Client
https://github.com/AsyncHttpClient/async-http-client

Feign
https://github.com/OpenFeign/feign

Retrofit
https://square.github.io/retrofit/

二维码解析
ZXing
https://github.com/zxing/zxing

定时任务调度
Quartz
https://github.com/quartz-scheduler/quartz

JSON 解析
Gson
https://github.com/google/gson

Jackson
https://github.com/FasterXML/jackson

fastjson
https://github.com/alibaba/fastjson

分布式事务
Seata
https://github.com/seata/seata

属性映射
MapStruct
https://github.com/mapstruct/mapstruct

本地缓存
Ehcache
http://www.ehcache.org/

Caffeine
https://github.com/ben-manes/caffeine

系统排错与调优
JMH
http://openjdk.java.net/projects/code-tools/jmh/

Arthas
https://github.com/alibaba/arthas

命令行参数解析
JCommander
http://jcommander.org/

计算机视觉
JavaCV
https://github.com/bytedeco/javacv

工具集合
Guavahttps://github.com/google/guava

Hutool
https://hutool.cn/

构建工具
Maven
https://maven.apache.org/

Gradle
https://gradle.org/

Bazelhttps://bazel.build/

本地系统开发
JNAhttps://github.com/java-native-access/jna

JVM
Adopt Open JDK
https://adoptopenjdk.net/

Graal
https://github.com/oracle/graal

Open JDK
https://openjdk.java.net/

多版本 Java 支持
jenvhttps://github.com/jenv/jenv

爬虫相关

Nutch
https://nutch.apache.org/

Crawler4j
https://github.com/yasserg/crawler4j

jsoup
https://jsoup.org/

webmagic
https://github.com/code4craft/webmagic

原文地址https://mp.weixin.qq.com/s/R1uGGFtPXCJT9No5jg88Rw

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

52类110个主流Java组件和框架 的相关文章

  • 有效地将三个字母的货币名称转换为符号名称(例如 20 美元到 20 美元)

    我有一个格式化的字符串 它等于USD 20 我想把它转换成 20 我怎样才能高效地做到这一点 我应该使用正则表达式来执行此操作 但由于区域设置发生变化 国家 地区 ISOCode 也会发生变化 你需要的是这个 import java uti
  • 序列化 ArrayList

    我正在尝试编写一个 Android 游戏 即使用户想要返回主菜单或者活动被系统终止 我也希望能够暂停游戏 onSaveInstanceState 似乎并没有给我很大的控制权来决定何时可以读回捆绑包 而且据我所知 捆绑包仅在短时间内有效 所以
  • Java 8 可选

    我想检查特定对象大小是否大于 0 如果它大于 0 那么我想创建一个可选对象 如果不是 那么我想返回一个可选的空对象 这是java代码的长版本 if fooA size gt 0 return Optional of new Foo else
  • Java 比 Xmx 参数消耗更多内存

    我有一个非常简单的 Web 服务器类 基于 Java SEHttpServer class 当我使用此命令启动编译的类来限制内存使用时 java Xmx5m Xss5m Xrs Xint Xbatch Test 现在如果我使用检查内存top
  • 将更改(永久)保存在数组列表中?

    那可能吗 例如 用户将新的项目 元素添加到数组列表 缓冲读取器进程 中 并且肯定会发生更改 我的问题是 即使用户多次更改数组列表 它也可能会永久存在 即使他们关闭程序并再次打开它 它也会一直存在 注意 不使用 txt 很抱歉问这样的问题 但
  • 图像在 3D 空间中绕 Y 轴旋转

    我有一个 BufferedImage 我想用 theta 角而不是仿射变换绕 Java 中的 Y 轴旋转图像 图片 旋转将如下图所示 矩形将是图像 我可以通过旋转图像的每个像素并绘制图像来做到这一点 因为我必须旋转很多图像 所以我认为这不是
  • bean 的 CDI @TransactionAttribute

    我正在尝试CDI在测试应用程序上 我有一个DAO它注入一个托管的容器JTA像这样的持久化上下文 public class TestDAO implements Serializable PersistenceContext private
  • Jboss EAP 7 - 如何从部署中排除隐式模块(javax.jms)?

    我没想到我会来到这里 但经过大量 Google 和 StackOverflow 搜索后 我来到了这里 这就是我的确切问题 https www linkedin com pulse tale two jars marco antonio al
  • TableModel setCellEditable 并自动将值设置回 false

    我目前正在尝试在 JTable 中实现 JPopupMenu 它允许解锁单元格以进行编辑 Override public void actionPerformed ActionEvent e if e getActionCommand Un
  • 是否有任何理由使用 ZoneId.of("UTC") 而不是 ZoneOffset.UTC ?

    有什么理由使用ZoneId of UTC 代替ZoneOffset UTC 我们知道两者之间的区别 如ZoneOffset UTC 和 ZoneId of UTC 之间有什么区别 https stackoverflow com questi
  • 竞争条件和 Clojure Atoms

    clojure atom 的文档指出 Changes to atoms are always free of race conditions 然而 竞争条件不仅是根据更改定义的 而且是在不同线程中并行逻辑操作的上下文中定义的 我想知道 保证
  • java多线程中“私有最终对象”锁定有什么用?

    java多线程中 私有最终对象 锁定有什么用 据我的理解 我认为要使一个类成为线程安全的 我们应该使用内部锁定 将所有方法标记为同步并使用 this 将它们锁定在对象的监视器上 或者我们可以用方法中的私有最终对象锁替换类的 this 上标记
  • 在 Hibernate 的 XML 配置文件中指定默认值

    我通过映射配置文件配置 Hibernate
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • 如何预先填充 JFileChooser 将“文件名”?

    我打算用数据库中的名称填充 JFileChooser 但使用标准 JFileChooser 对话框进行加载 删除 保存和另存为 我想给用户留下这样的印象 他们正在处理文件系统 而在后端使用数据库来保存更改 用户不应该能够浏览到不同的目录进行
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • Java无损保存原始JPEG

    如下所示 我有第一张图像是原始 JPEG 图像 第二张图像用于缓冲图像 然后使用保存http www lac inpe br JIPCookbook 6040 howto compressimages jsp http www lac in
  • 不鼓励在Web应用程序中使用线程吗?

    我们与同事就在 Java 的 Web 应用程序中使用线程进行了激烈的讨论 他们的观点是 不建议在 Java Web 应用程序中使用线程 因为它们不受容器管理 一般来说 我对此表示同意 因为线程可能会干扰容器 但是 如果它不是 Java EE
  • 原子整数的compareandexchange()与compareandset()

    在研究 AtomicInteger 时 我发现这个 API 提供了两种方法 比较和交换 如果当前值被引用 则自动将该值设置为 newValue to 作为见证值 预期值 记忆效应为 由指定VarHandle compareAndExchan
  • 如何将字符串解析为map

    有一个像A B C D E F这样的字符串 如何将其解析为map 我会使用拆分 String text A B C D E F Map

随机推荐

  • Hyperledger Fabric 应用实战(3)--配置文件core.yaml

    1 简介 core yaml主要是为Peer服务提供一些配置定义 当Peer节点启动时 会先从命令行获取参数 环境变量 和core yaml读取配置信息 通过docker去搭建一个Peer服务 命令行默认是不带参数的 主要通过docker
  • 考研 打赢这场信息站 上岸

    23考研已经结束了 新的考研马上开始 考研 是一个 持久战 也是一个 信息战 因为大多数同学都是自我监督 自我学习 所以经常出现想要摆烂 放弃的念头 意念坚定的同学只占一小部分 这个时候我们就要先在考研之前进行问题分析 这是一个非常非常重要
  • Spark Streaming入门

    什么是Spark Streaming 首先 什么是流 streaming 数据流是连续到达的无穷序列 流处理将不断流动的输入数据分成独立的单元进行处理 流处理是对流数据的低延迟处理和分析 Spark Streaming是Spark API核
  • openssl常用参数

    文章目录 前言 对称加密 标准语法 常用选项 应用示例 单向加密 标准语法 常用选项 应用示例 参考文档 前言 OpenSSL 是一个开源项目 可以实现 秘钥证书管理 对称加密和非对称加密 其主要由一下三个组件组成 openssl 多用途的
  • Synchronized与锁升级

    目录 1 先从阿里及其他大厂面试题说起 2 路线总纲 3 Synchronized的性能变化 4 Synchronized锁种类及升级步骤 4 1多线程访问情况 3种 4 2升级流程 4 3无锁 4 4偏向锁 4 5轻量级锁 4 6重量级锁
  • 【经典】springboot 配置文件统一管理

    背景 为实现快速搭建和开发 项目以Springboot框架搭建 springboot搭建的项目可以将项目直接打成jar包并运行 无需自己安装配置Tomcat或者其他服务器 是一种方便快捷的部署方式 假设项目以最常规的方式打包成一个整体的ja
  • Onvif协议学习:7、鉴权认证

    Onvif协议学习 7 鉴权认证 文章目录 Onvif协议学习 7 鉴权认证 1 前言 2 ONVIF哪些接口需要认证 3 如何认证 4 安装OpenSSL 5 实现认证 6 特别注意 原文链接 https blog csdn net be
  • QT学习(十九)——用QFile读写文件

    写文件 两种方法 1 第一种使用QString获取编辑区的内容之后直接用toUtf8 转化为QByteArray 2 第二种使用QString获取编辑区的内容之后先转化成std string 再转换成char 不过最后的文件类型都是UTF
  • Zookeeper(一)简介说明

    1 1 什么是Zookeeper Zookeeper是一个高效的分布式协调服务 它暴露了一些公用服务 比如命名 配置管理 同步控制 群组服务等 我们可以使用ZK来实现比如达成共识 集群管理 leader选举等 Zookeeper是一个高可用
  • 编写高质量代码:改善Java程序的151个建议(第9章:多线程和并发___建议125~131)

    建议125 优先选择线程池 建议126 适时选择不同的线程池来实现 建议127 lock与synchronized是不一样的 建议128 预防线程死锁 建议129 适当设置阻塞队列的长度 建议130 使用CountDownLatch协调子线
  • Spring Cloud Alibaba核心组件概述

    目录 概览 Nacos 注册中心 配置中心 Sentinel 限流 熔断降级 控制台 动态规则扩展 Seata AT模式 TCC模式 Saga模式 XA模式 Spring Cloud Gateway 关键特性 核心概念 负载均衡 概览 Sp
  • fetch整个仓库 github_为开源项目做贡献的10个步骤,GitHub贡献的简短指南

    在本文中 我将给出10个简单的步骤 以确保GitHub的贡献快速而干净 贡献的生命周期 步骤 1 fork主仓库 fork主仓库会在你的帐户中创建一个副本 你可以进行更改并将任何代码推送到此fork 而不必担心会弄乱原始代码库 单击页面顶部
  • java中tip是什么意思_tip是什么意思

    tip指的是小费或者是尖端 指点的意思 tip美音可以是 t p 英音是 t p 第三人称单数可以写为tips 复数可以直接写为tips 现在分词是tipping 过去式是tipped 列句 每次给爸妈买些东西 总是能赚到小费 Every
  • IBM --AIX 常用命令

    创建组 mkgroup id 101 info 创建用户 mkuser pgrp staff home home campaign shell usr bin ksh groups staff campaign 解压 unzip campa
  • AcWing 425. 明明的随机数

    题目 明明想在学校中请一些同学一起做一项问卷调查 为了实验的客观性 他先用计算机生成了N个1到1000之间的随机整数 对于其中重复的数字 只保留一个 把其余相同的数去掉 不同的数对应着不同的学生的学号 然后再把这些数从小到大排序 按照排好的
  • golang学习demo4-goroutine并行测试

    知识点 go语言的routine的使用 通道chan的使用 想测试一下go的routine 就写了个求大量素数的程序 分别开1 99个协程进行求解 对比结果 首先是没有开协程的 下面是开了少数几个协程的程序 可以看到在 cnt 5 的时候速
  • Pytorch GPU版本简明下载安装教程

    1 根据自己的显卡型号下载显卡驱动并安装 这一步会更新你的显卡驱动 也可忽略第1步 如果第2步出现问题 返回执行第1步 点击这里下载英伟达显卡驱动 2 安装完成后 win cmd打开命令行 输入nvidia smi 查看GPU信息 右上角C
  • elementUIel-input和el-select宽度不一样

    在vue项目中 使用了element组件的 el input 和 el select组件 设置了相同的宽度 但是宽度显示不一样 给el select添加style width 100 就可以解决 没加样式之前的效果 添加样式 没加样式之后的
  • 机器学习入门教学——决策树

    1 简介 决策树算法是一种归纳分类算法 它通过对训练集的学习 挖掘出有用的规则 用于对新数据进行预测 决策树算法属于监督学习方法 决策树归纳的基本算法是贪心算法 自顶向下来构建决策树 贪心算法 在每一步选择中都采取在当前状态下最好 优的选择
  • 52类110个主流Java组件和框架

    以下排序是按照从技术组件到开发框架到代码工具 也有一些实在不好分类的 就放到最后了 WEB 容器 Tomcat https tomcat apache org Jetty https www jetty com JBoss https ww