awesome-java-zh
Java 编程语言的优秀框架、库和软件的精选列表
https://github.com/awesome-code-resources/awesome-java-zh
Last synced: 10 days ago
JSON representation
-
项目
-
数据库
- ArangoDB - ArangoDB Java驱动程序。
- Chronicle Map - 高效、内存中 (opt.持久化到磁盘) 、堆外键值存储。
- eXist - NoSQL文档数据库和应用平台。(LGPL-2.1-only)
- FlexyPool - 为最常见的连接池解决方案带来指标和故障转移策略。
- HikariCP - 高性能JDBC连接池。
- Jest - Elasticsearch REST API的客户端。
- jetcd - 用于etcd的客户端库。
- Jinq - 通过符号执行Java 8 Lambdas (在JPA或jOOQ之上) 进行类型安全数据库查询。
- Leaf - 分布式ID生成服务。
- MariaDB4j - MariaDB的启动器,不需要安装或外部依赖。
- Modality - 具有数据库逆向工程功能的轻量级ORM。
- OpenDJ - 为Java平台开发的符合LDAPv3的目录服务,为身份提供高性能、高可用性和安全的存储。
- QueryStream - 使用类似流的API构建JPA标准查询。
- QuestDB - 用于时间序列的高性能sql数据库。支持InfluxDB line协议、PostgreSQL wire协议和REST。
- Redisson - 允许在Redis服务器上使用分布式和可扩展的数据结构。
- Speedment - 利用Java 8的Stream API进行查询的数据库访问库。
- Spring Data JPA MongoDB Expressions - 允许您使用MongoDB查询语言来查询您的关系数据库。
- Xodus - 高度并发的无事务模式和符合ACID的嵌入式数据库。
- CosId - 通用,灵活,高性能的分布式ID生成器。
- Trino - 用于大数据的分布式SQL查询引擎。
-
数据结构
- Tape - 闪电般快速,事务性,基于文件的FIFO。
- Big Queue - 基于内存映射文件的快速和持久队列。
- HyperMinHash-java - 用于在日志空间中计算并集,交集和集合基数的概率数据结构。
- Persistent Collection - Java集合框架的持久和不可变的模拟。
- Protobuf - Google的数据交换格式。
- RoaringBitmap - 快速和高效的压缩位图。
- Wire - 干净,轻量级的协议缓冲区。
- SBE - 简单的二进制编码,最快的消息格式之一。
-
文档处理
- documents4j - 使用第三方转换器 (如MS Word) 进行文档格式转换的API。
- docx4j - 创建和操作Microsoft Open XML文件。
- fastexcel - 高性能库读取和写入大型Excel (XLSX) 工作表。
- zerocell - 基于注释的API,用于将数据从Excel工作表读取到pojo中,重点是减少开销。
-
日志记录
- Kibana - 分析和可视化日志文件。某些功能需要付款。
- Logstash - 用于管理日志文件的工具。
- Apache Log4j 2 - 完整的重写与强大的插件和配置架构。
- Echopraxia - 围绕结构化日志记录,丰富的上下文和条件日志记录设计的API。有Logback和Log4J2实现,但echoprawia的API是完全无依赖关系的,这意味着它可以用任何日志API实现。
- Logbook - 用于HTTP请求和响应日志记录的可扩展的开源库。
- p6spy - 为所有JDBC事务启用日志记录,而无需更改代码。
- OpenTracing Toolbox - 建立在OpenTracing之上的库集合,并为现有仪器提供扩展和插件。
- Logback - 健壮的日志库,通过Groovy提供有趣的配置选项。
- SLF4J - 抽象层/简单的日志记录外观。
-
日期和时间
- iCal4j - 解析和构建iCalendar[RFC 5545](https://tools.ietf.org/html/rfc5545)数据模型。
- Jollyday - 确定给定年份,国家/地区和最终州/地区的假期。
- ThreeTen-Extra - 补充JDK 8中的日期时间类。
- Time4J - 先进的日期和时间库。(LGPL-2.1-only)
-
服务器
-
机器学习
- oj! Algorithms - 数据科学,机器学习和科学计算所需的高性能数学,线性代数和优化。
- Tribuo - 提供用于分类,回归,聚类,模型开发的工具以及与其他库 (如scikit-learn,pytorch和TensorFlow) 的接口。
- Intelligent java - 以编程方式与远程深度学习和语言模型无缝集成。
- JSAT - 用于预处理、分类、回归和聚类的算法,支持多线程执行。(GPL-3.0-only)
- m2cgen - CLI工具将模型转换为本机代码。
- Neureka - 一个轻量级的,平台独立的,OpenCL加速的nd阵列/张量库。
- Oryx 2 - 用于构建实时,大规模机器学习应用程序的框架。包括用于协同过滤、分类、回归和聚类的端到端应用程序。
- Siddhi - 云原生流和复杂事件处理引擎。
- Smile
- Intelligent java - 以编程方式与远程深度学习和语言模型无缝集成。
- Deeplearning4j - 分布式和多线程深度学习库。
-
杂项
- Joda-Money - JDK未提供的基本货币和货币类和算法。
- Svix - 用于Svix API的库,用于发送webhook并验证签名。
- AWS SDK for Java 2.0 - 围绕aws的API进行包装。
- CQEngine - Java集合上的超快速,类似SQL的查询。
- Design Patterns - 最常见的设计模式的实现和解释。
- FF4J - Java的功能标志。
- FizzBuzz Enterprise Edition - 认真的商人为严肃的商业目的而制造的FizzBuzz的废话。(无明确许可)
- IP2Location.io Java SDK - IP2Location.io地理位置API和IP2WHOIS域WHOIS API的包装器。
- ISBN core - 一个小型库,其中包含ISBN-10和ISBN-13的表示对象以及用于解析,验证和格式化的工具。
- J2ObjC - 用于将Android库移植到iOS的Java到objective-c转换器。
- JBot - 构建聊天机器人的框架。(GPL-3.0-only)
- JCuda - JCuda为CUDA和与CUDA相关的库提供Java绑定。
- Jimfs - 内存文件系统。
- jOOX - org.w3c.dom包的简单包装器,允许使用受jQuery启发的API进行流畅的XML文档创建和操作。
- jsweet - 源转换器到TypeScript/JavaScript。
- Maven Wrapper - Maven的Gradle包装器的模拟,允许在不安装maven的情况下构建项目。
- MinimalFTP - 轻量级,小型和可定制的FTP服务器。
- LittleProxy - 在Netty的基于事件的网络库之上的高性能HTTP代理。
- Modern Java - A Guide to Java 8 - 流行的Java 8指南。
- Modernizer - 检测遗留Java api的使用。
- OctoLinker - 浏览器扩展,允许更有效地浏览GitHub上的代码。
- PipelinR - 小型实用程序库,用于使用处理程序和带有管道的命令。
- Polyglot for Maven - Maven 3.3.1的扩展,允许用XML以外的方言编写POM模型。
- RR4J - RR4J是一个记录java字节码执行的工具,后来允许开发人员在本地重放。
- Simple Java Mail - 邮寄一个干净和流畅的API。
- Smooks - 基于片段的消息处理框架。(Apache-2.0或LGPL-3.0-or-later)
- TypeTools - 用于解析泛型类型的工具。
- XMLBeam - 通过在代码中使用注释或XPath来处理XML。
- yGuard - 通过重命名和收缩混淆。
- JPad - 片段赛跑者.
- Membrane Service Proxy - 开源,反向代理框架。
-
构建
-
模板引擎
- Handlebars.java - 无逻辑和语义胡子模板。
- Jade4J - 实施Pug (以前称为Jade)。
- Jamal - 嵌入到Maven/JavaDoc中的可扩展模板引擎,支持多个扩展 (Groovy,Ruby,JavaScript,JShell,PlantUml),并支持代码段处理。
- jstachio - Typesafe Mustache模板引擎。
- jte - 编译为类,并使用简单的语法,几个功能,使开发更容易,并提供快速执行和占地面积小。
- Jtwig - 模块化,可配置和完全测试的模板引擎。
- Rocker - 优化,内存高效和快速的模板引擎产生静态类型,普通对象。
- StringTemplate - 用于生成源代码,网页,电子邮件或任何其他格式化文本输出的模板引擎。
-
流程
- ch.vorburger.exec - 围绕Apache Commons Exec的便捷API。
- zt-exec - 为Apache Commons Exec和ProcessBuilder提供统一的API。
- zt-process-killer - 停止从Java启动的进程或通过PID的系统进程。
-
测试
- GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。(GPL-2.0-only)
- JUnit - 通用测试框架。
- Awaitility - 用于同步异步操作的DSL。
- ConcurrentUnit - 用于测试多线程和异步应用程序的工具包。
- GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。(GPL-2.0-only)
- Hoverfly Java - Hoverfly的本机绑定,它允许您模拟HTTP服务的代理。
- Karate - DSL结合了API测试自动化,模拟和性能测试,使测试REST/HTTP服务变得容易。
- REST Assured - 用于轻松测试REST/HTTP服务的DSL。
- WebTau - 使用一致的匹配程序和概念集,跨REST API,图形QL,浏览器,数据库,CLI和业务逻辑进行测试。
- Cucumber - 提供了一种以客户可以理解的简单语言描述功能的方法。
- Cukes-REST - 使用黄瓜进行REST服务测试的小黄瓜步骤集合。
- J8Spec - 遵循类似茉莉花的语法。
- Lamdba Behave - 旨在提供一个流利的API来编写测试长而描述性的句子,读起来像普通英语。
- Serenity BDD - 自动验收测试和报告库,与黄瓜,j行为和JUnit的工作,使它更容易编写高质量的可执行规范。
- Beanmother - 从YAML fixtures设置bean。
- Datafaker - 从Java Faker分叉的现代假数据生成器。
- Fixture Factory - 从模板生成假对象。
- jFairy - 假数据生成器。
- Instancio - 通过生成完全填充的,可重现的对象来自动执行单元测试中的数据设置。包括JUnit 5扩展。
- Randomized Testing - JUnit测试运行器和插件,用于运行具有伪随机性的JUnit测试。
- Java Faker - Ruby的假数据生成器的端口。
- Mockneat - 另一个假数据生成器。
- ArchUnit - 用于指定和断言架构规则的测试库。
- AssertJ - 流利的断言,提高可读性。
- JsonUnit - 简化测试中JSON比较的库。
- XMLUnit - 简化了XML输出的测试。
- ConsoleCaptor - 捕获用于单元测试目的的控制台输出。
- junit-dataprovider - 用于JUnit的类似TestNG的数据提供程序/运行程序。
- LogCaptor - 捕获用于单元测试目的的日志条目。
- log-capture - 捕获日志条目并为单元和集成测试提供断言。
- Mutability Detector - 报告给定类的实例是否不可变。
- raml-tester - 测试请求/响应是否与给定的RAML定义匹配。
- Selfie - 快照测试 (内联和磁盘上)。
- TestContainers - 提供常见数据库、Selenium web浏览器或其他任何可以在Docker容器中运行的一次性实例。
- JMockit - 集成测试,API模拟和伪造以及代码覆盖率。
- Mockito - Mocking框架,让您使用干净简单的API编写测试。
- Moco - 用于存根和模拟的简洁web服务。
- PowerMock - 模拟静态方法,构造函数,最终类和方法,私有方法以及删除静态初始值设定项。
- EasyMock - EasyMock是一个Java库,它提供了一种在单元测试中使用Mock对象的简便方法。
- JUnit - 通用测试框架。
- Pact JVM - 消费者驱动的合同测试。
- pojo-tester - 自动对基本POJO方法执行测试。(LGPL-3.0-only)
-
消息传递
- Aeron - 高效,可靠,单播和多播消息传输。
- Deezpatch - 用于解耦消息 (请求和事件) 和消息处理程序的简单,轻量级和高性能的调度库。
- EventBus - 简单的发布/订阅事件总线。
- JeroMQ - ZeroMQ的实现。
- Nakadi - 在Kafka之上提供一个RESTful API。
- RabbitMQ Java client - RabbitMQ客户端。
- Smack
- NATS client - NATS的客户.
- AutoMQ - AutoMQ是一款云原生的无服务器Kafka,易于扩展,无需管理且具有成本效益。
-
游戏开发
- JBox2D - 著名的C 2D物理引擎的端口。
- Litiengine - 基于AWT的轻量级2D游戏引擎。
- FXGL
- JBox2D - 著名的C 2D物理引擎的端口。
- Void2D - 基于Swing的内置物理的高级2D游戏引擎。
-
版本管理器
-
监测
- hippo4j - 动态和可观察的线程池框架。
- Automon - 将AOP的功能与监视和/或日志记录工具相结合。
- Dropwizard Metrics - 通过JMX或HTTP公开指标,并将其发送到数据库。
- Failsafe Actuator - Spring-Boot环境中的故障安全断路器的开箱即用监控。
- HertzBeat - 具有自定义监视器和无代理功能的实时监视系统。
- Jaeger client - Jaeger客户.
- JavaMelody - 性能监控和分析。
- jmxtrans - 连接到多个jvm并通过JMX查询它们的属性。它的查询语言基于JSON,允许非Java程序员访问JVM属性。支持不同的输出写入,包括Graphite、Ganglia和StatsD。
- Micrometer - 供应商中立的度量/可观察性外观,用于最受欢迎的度量/可观察性库。
- Micrometer Tracing - 供应商中立的分布式跟踪facade,用于最流行的跟踪器库。
- nudge4j - 通过字节码注入从Java 8浏览器远程开发人员控制台。
- Prometheus - 提供多维数据模型,DSL,自治服务器节点等等。
- Stagemonitor - JVM应用程序的开源性能监控和事务跟踪。
- Sysmon - 用于Java vm的轻量级平台监控工具。
- Pinpoint - 开源APM工具。
- inspectIT - 通过钩子捕获详细的运行时信息,可以在飞行中更改。它支持通过OpenTracing API跟踪多个系统,并可以将数据与最终用户监控相关联。
-
科学
- BioJava - 通过提供生物信息学中常用的算法,文件格式解析器,测序和3D可视化,促进处理生物数据。
- DataMelt - 科学计算,数据分析和数据可视化的环境。(GPL-3.0-or-later)
- Orekit - 一个低级别的太空飞行动力学库,提供基本元素 (轨道,日期,姿态,帧...) 和各种算法 (转换,传播,指向...) 来处理它们。
- Chart-FX - 科学图表库,重点是针对大型数据集以25 hz的更新速率进行性能优化的实时数据可视化。
- Erdos - 用于理论算法的模块化,轻便和简单的图形框架。
- JGraphT - 提供数学图论对象和算法的图库。
- JGraphX - 用于可视化 (主要是摆动) 和与节点边图交互的库。
- LogicNG - 用于创建,操作和解决布尔和伪布尔公式的库。
- Mines Java Toolkit - 用于地球物理科学计算,可视化和数字信号分析的库。
- Morpheus - 提供了一种通用的二维内存高效表格数据结构,称为DataFrame,以实现高效的内存分析,用于JVM上的科学计算。
- Orson-Charts - 生成各种3D图表,可以使用Swing和JavaFX显示或导出为PDF,SVG,PNG和JPEG。(GPL-3.0-only)
- Tablesaw - 包括一个数据框、一个嵌入式列存储以及数百种用于转换、汇总或过滤数据的方法。
- XChart - 用于绘制数据的轻量级库。有许多可自定义的图表类型。
- JFreeChart - 用于Swing,JavaFX和服务器端应用程序的2D图表库。(LGPL-2.1-only)
-
站台
- Logging - 围绕各种日志API实现的包装。
- RDF - 可以由JVM上的系统实现的RDF 1.1的常见实现。
- RNG - Commons Rng提供伪随机数生成器的实现。
- Spring - 提供了许多用于依赖注入,面向方面编程,安全性等的软件包。
- Light-4J - 内置的快速,轻量级和高效的微服务框架[security](https://github.com/networknt/light-oauth2/)。
- Orienteer - 用于快速配置/开发CRM,ERP,LMS和其他应用程序的开源业务应用程序平台。
- BCEL - 字节码工程库-分析,创建和操作Java类文件。
- BeanUtils2 - 重新设计Commons BeanUtils。
-
Programming Languages
Sub Categories
人
54
测试
42
站台
38
杂项
31
数据库
26
实用程序
21
安全
20
网站
18
监测
16
JSON
16
科学
14
REST框架
13
相关的真棒列表
12
Web框架
12
代码分析
12
联网
12
代码生成器
11
机器学习
11
JVM和JDK
11
配置
11
PDF
10
分布式应用程序
10
分布
9
消息传递
9
日志记录
9
HTTP客户端
9
字节码操作
9
Bean映射
9
微服务
9
数据结构
8
模板引擎
8
依赖注入
8
发展
8
播客和截屏
7
有影响力的书籍
7
函数式编程
7
高性能
7
作业调度
7
形式验证
7
CLI
7
序列化
6
性能分析
6
财务
6
内省
6
图像
6
CSV
5
ORM
5
地理空间
5
游戏开发
5
反应式库
5
原生
4
文档处理
4
日期和时间
4
GUI
4
约束满足问题求解器
3
代码覆盖率
3
超媒体类型
3
流程
3
搜索
3
构建
3
版本管理器
3
自然语言处理
3
Web爬行
3
IDE
3
分布式事务
2
社区
2
工作流编排引擎
2
服务器
2
前端
1
缓存
1
编译器-编译器
1
计算机视觉
1
Keywords
java
195
testing
14
jvm
13
microservices
13
android
13
spring
12
kotlin
12
spring-boot
12
static-analysis
11
http
10
monitoring
10
json
9
java-library
9
database
8
annotation-processor
7
xml
7
awesome
7
high-performance
6
jdbc
6
machine-learning
6
logging
6
static-code-analysis
6
rpc
6
javafx
6
junit
6
library
6
metrics
6
java-8
6
rest
6
cloud-native
6
javascript
6
reactive-streams
5
gradle
5
awesome-list
5
rest-api
5
sql
5
configuration
5
groovy
5
framework
5
grpc
5
java8
5
test-automation
5
jackson
5
c
5
serialization
5
scheduler
5
asynchronous
4
ast
4
reactive
4
cli
4