awesome-java-zh
Java 编程语言的优秀框架、库和软件的精选列表
https://github.com/awesome-code-resources/awesome-java-zh
Last synced: 10 days ago
JSON representation
-
项目
-
Web框架
-
Web爬行
- Crawler4j - 简单和轻量级的网络爬虫。
- webmagic - 具有下载,url管理,内容提取和持久性的可扩展爬虫。
- StormCrawler - 用于构建低延迟和可扩展的web爬虫的SDK。
-
代码分析
- Infer - 现代静态分析工具,用于验证代码的正确性。
- Checkstyle - 编码约定和标准的静态分析。(LGPL-2.1-or-later)
- Error Prone - 捕获常见的编程错误作为编译时错误。
- Error Prone Support - 容易出错的扩展: 额外的错误检查器和大量的更快的模板。
- NullAway - 消除具有低构建时间开销的NullPointerExceptions。
- PMD - 用于查找不良编码实践的源代码分析。
- p3c - 提供阿里巴巴的PMD、IDEA和Eclipse的编码指南。
- SonarJava - SonarQube & SonarLint的静态分析仪。(LGPL-3.0-only)
- Spoon - 用于分析和转换Java源代码的库。
- Spotbugs - 字节码的静态分析,以发现潜在的错误。(LGPL-2.1-only)
- RefactorFirst - 识别并优先考虑上帝类和高度耦合类。
- jQAssistant - 使用Neo4J-based查询语言进行静态代码分析。(GPL-3.0-only)
-
代码生成器
- Avaje Http Server - 使用Javalin或Helidon (Nima) SE生成轻量级jax-rs样式的http服务器。
- Joda-Beans - 为Java添加可查询属性的小框架,增强了JavaBeans。
- Telosys - 简单而轻便的代码生成器可作为Eclipse插件和CLI使用。
- ADT4J - 代数数据类型的JSR-269代码生成器。
- Auto - 生成工厂、服务和值类。
- FreeBuilder - 自动生成构建器模式。
- Geci - 发现需要生成代码的文件,自动更新并使用方便的API写入源代码。
- JavaPoet - 生成源文件的API。
- JHipster - 用于Spring Boot和AngularJS的Yeoman源代码生成器。
- Record-Builder - 同伴构建器类,Java记录的枯萎和模板。
- Bootify ![c - 使用JPA模型和REST API生成基于浏览器的Spring Boot应用程序。
-
代码覆盖率
-
作业调度
- JobRunr - 作业调度库,它利用lambdas进行fire-and-forget,延迟和重复的作业。使用乐观锁定保证由单个调度程序实例执行。具有持久性,最小依赖性和可嵌入的功能。
- Quartz - 功能丰富的开源作业调度库,可以集成在几乎任何Java应用程序中。
- Sundial - 轻量级框架,用于简单地定义作业,定义触发器并启动调度程序。
- Wisp - 具有最小的占用空间和简单的API的简单库。
- db-scheduler - 持久和群集友好的调度程序。
- easy-batch - 使用简单的处理管道设置批处理作业。记录从数据源按顺序读取,在管道中处理并批量写入数据接收器。
- shedlock - 确保您的计划任务在同一时间最多执行一次。如果任务正在一个节点上执行,则它获取一个锁,该锁阻止从另一个节点或线程执行相同的任务。
-
依赖注入
- Inversion of Control
- Avaje Inject - 专注于微服务的编译时注入框架,无需反射。
- Dagger - 没有反射的编译时注入框架。
- Feather - 超轻量级,JSR-330-compliant依赖注入库。
- Governator - 增强Google Guice的扩展和实用程序。
- Guice - 轻量级和固执己见的框架,完成匕首。
- HK2 - 轻量级和动态依赖注入框架。
- JayWire - 轻量级的依赖注入框架。(LGPL-3.0-only)
-
内省
- Mirror - Mirror的创建是为了解决一个简单的问题,通常将其命名为ReflectionUtil,该问题几乎适用于所有依靠反射来执行高级任务的项目。
- ClassGraph
- jOOR
- Mirror - Mirror的创建是为了解决一个简单的问题,通常将其命名为ReflectionUtil,该问题几乎适用于所有依靠反射来执行高级任务的项目。
- ReflectASM - ReflectASM是一个非常小的Java库,通过使用代码生成提供高性能反射。
- Reflections - 反射扫描您的类路径,索引元数据,允许您在运行时查询它,并可以保存和收集项目中许多模块的信息。
-
函数式编程
- Functional Java - 实现了许多基本和高级编程抽象,有助于面向组合的开发。
- Cyclops - Monad和流实用程序,理解,模式匹配,所有JDK集合的功能扩展,未来流,蹦床等等。
- derive4j - Java 8注释处理器和框架,用于导出代数数据类型构造函数,模式匹配和态射。(GPL-3.0-only)
- Fugue - 番石榴的功能扩展。
- jOOλ - Java 8的扩展,旨在通过提供大量缺失的类型和一组丰富的顺序流API添加来修复lambda中的差距。
- protonpack - 流实用程序的集合。
- StreamEx - 增强Java 8流。
-
分布
- IzPack - 用于跨平台部署的设置创作工具。
- Artipie - 二进制工件管理工具包,将它们托管在文件系统或s3上。
- Capsule - 简单而强大的包装和部署。类固醇上的胖罐子,或者支持JVM优化容器的 “Docker for Java”。
- Getdown - 用于将Java应用程序部署到最终用户计算机并使其保持最新状态的系统。作为Java Web Start的替代方案而开发。
- JavaPackager - Maven和Gradle插件,它提供了一种简单的方法来在本机Windows,macOS或GNU/Linux可执行文件中打包Java应用程序,并为它们生成安装程序。
- jlink.online - 通过HTTP构建优化的运行时。
- packr - 打包jar,资产和JVM,以便在Windows,Linux和macOS上进行本机分发。
- really-executable-jars-maven-plugin - 用于制作自执行jar的Maven插件。
- JavaPackager - Maven和Gradle插件,它提供了一种简单的方法来在本机Windows,macOS或GNU/Linux可执行文件中打包Java应用程序,并为它们生成安装程序。
-
分布式事务
-
分布式应用程序
- Quasar - JVM的轻量级线程和actor。
- Dropwizard Circuit Breaker - Dropwizard的断路器设计模式。(GPL-2.0-only)
- Hazelcast - 具有免费开源版本的高度可扩展的内存datagrid。
- Atomix
- Failsafe - 简单的故障处理与重试和断路器。
- JGroups - 用于可靠消息传递和集群创建的工具包。
- resilience4j
- OpenIG - 具有专用会话管理和凭证重放功能的高性能反向代理服务器。
- ScaleCube Services - 基于SWIM和gossip协议的嵌入式集群成员库。
- Zuul - 提供动态路由、监控、弹性、安全性等功能的网关服务。
-
原生
-
反应式库
- RxJava - 允许使用可观察序列组成异步和基于事件的程序。
- Akka - 用于构建并发,分布式,容错和事件驱动应用程序的工具包和运行时。
- Reactive Streams - 提供具有非阻塞背压的异步流处理的标准。
- Reactor - 用于构建响应式快速数据应用程序的库。
-
发展
- Faux Pas - 库,通过规避默认情况下不允许Java运行时中的任何函数式接口抛出检查异常的问题,简化了错误处理。
- HotswapAgent - 无限的运行时类和资源重新定义。(GPL-2.0-only)
- JavaParser - 解析,修改和生成Java代码。
- JavaSymbolSolver - 符号求解器。
- Manifold - 重新激发Java强大的功能,如类型安全元编程,结构类型和扩展方法。
- SneakyThrow - 忽略没有字节码操作的检查异常。也可以在Java 8流操作中使用。
- Tail - 使用尾调用优化启用无限递归。
- NoException - 允许在函数式接口中检查异常,并将异常转换为可选返回。
-
图像
- ZXing - 多格式1D/2D条码图像处理库。
- Imgscalr - 在纯Java 2D中实现的简单,高效和硬件加速的图像缩放库。
- Tess4J - Tesseract OCR API的JNA包装器。
- Thumbnailator - 高质量的缩略图生成库。
- TwelveMonkeys - 扩展支持的图像文件格式数量的插件集合。
- image-comparison - 比较具有相同大小的2个图像的库,并通过绘制矩形在视觉上显示差异。可以从比较中排除图像的一些部分。
-
地理空间
- Geo - Java中的GeoHash实用程序。
- GraphHopper - 道路路由引擎。用作Java库或独立的web服务。
- Jgeohash - 使用GeoHash算法的库。
- Mapsforge - 3.0-only)
- Spatial4j - 通用空间/地理空间图书馆。
-
字节码操作
-
安全
- Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
- Themis - 多平台高级加密库为保护敏感数据提供易于使用的加密: 具有前向保密性的安全消息传递,安全数据存储 (AES256GCM); 适合构建端到端加密应用程序。
- Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
- DependencyCheck - 检测项目依赖项中包含的公开披露的漏洞。
- Hdiv - 排除OWASP Top 10中包含的应用程序安全风险的运行时应用程序,包括SQL注入,跨站点脚本,跨站点请求伪造,数据篡改和蛮力攻击。
- jjwt - 适用于Java和Android的JSON web令牌。
- jwt-java - 轻松创建和解析JSON Web令牌,并使用fluent API创建自定义JWT验证器。
- Jwks RSA - JSON Web密钥集解析器。
- Kalium - 网络和密码学 (NaCl) 库的绑定。
- Keywhiz - 用于分发和管理秘密的系统。
- Nbvcxz - 高级密码强度估计。
- OACC - 提供基于权限的授权服务。
- OpenAM - 访问管理解决方案,包括身份验证,SSO,授权,联合,权利和web服务安全性。
- OTP-Java - 根据RFC 4226 (HOTP) 和RFC 6238 (TOTP) 的一次性密码生成器库。
- pac4j - 安全引擎。
- Password4j - 用户友好的加密库,支持Argon2,Bcrypt,Scrypt,PBKDF2和各种其他加密哈希函数。
- SecurityBuilder - 用于JCA和JSSE类,尤其是X.509证书的Fluent Builder API。
- SSLContext-Kickstart - 高级SSL上下文构建器,用于使用SSL/TLS配置HTTP客户端。
- Tink - 为常见的加密任务提供简单且防误用的API。
- Keycloak - 用于浏览器应用程序和RESTful web服务的集成SSO和IDM。
- Passay - 通过根据可配置的规则集验证候选密码来实施密码策略。
-
实用程序
- Guava - 集合,缓存,原语支持,并发库,通用注释,字符串处理,I/O等。
- JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
- JGit - 实现Git版本控制系统的轻量级纯Java库。
- JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
- Arthas - 允许对应用程序的生产问题进行故障排除,而无需修改代码或重新启动服务器。
- cactoos - 面向对象原语的集合。
- Chocotea - 从java代码生成postman集合,环境和集成测试。
- CRaSH - 为运行崩溃的JVM提供一个shell。由Spring Boot和其他人使用。(LGPL-2.1-or-later)
- Dex - Java/JavaFX工具能够强大的ETL和数据可视化。
- dregex - 使用确定性有限自动机的正则表达式引擎。它支持一些Perl风格的特性,但保留了线性匹配时间,还提供了set操作。
- Embulk - 批量数据加载器,可帮助各种数据库,存储,文件格式和云服务之间的数据传输。
- fswatch - 微库监视目录文件系统更改,简化了java.nio.file.WatchService。
- Gephi - 用于可视化和操纵大型图形网络的跨平台。(GPL-3.0-only)
- Java Diff Utils - 用于文本或数据比较和修补的实用程序。
- JavaVerbalExpressions - 库,有助于构建困难的正则表达式。
- JKScope - 受Kotlin启发的Java作用域函数。
- minio-java - 提供简单的api来访问任何Amazon S3-compatible对象存储服务器。
- Semver4j - 轻量级库,可帮助您处理不同模式的语义版本控制。
- Underscore-java - Underscore.js函数的端口。
- bucket4j
- Protégé - 提供了一个本体编辑器和一个框架来构建基于知识的系统。
-
工作流编排引擎
-
序列化
- FlatBuffers - 内存高效的序列化库,可以访问序列化数据,而无需解包和解析。
- FST - JDK兼容,高性能对象图序列化。
- Kryo
- MessagePack - 高效的二进制序列化格式。
- PHP Serializer - 以PHP序列化格式序列化对象。
- Fury - 由JIT和零拷贝提供支持的快速对象图序列化框架。
-
形式验证
- Daikon - 检测可能的程序不变量,并根据这些不变量生成JML规范。
- JMLOK 2.0 - 通过反馈导向的随机测试生成来检测代码和JML规范之间的不一致,并建议检测到的每个不一致的可能原因。(GPL-3.0-only)
- CATG - Concoric单元测试引擎。使用正式方法自动生成单元测试。
- Java Path Finder (JPF) - 包含模型检查器等的JVM形式验证工具。由NASA创建。
- Checker Framework - 可插拔型系统。包括nullness类型、物理单位、不变性类型等。(GPL-2.0-only与Classpath-exception-2.0)
- OpenJML - 将JML规范转换为smt-lib格式,并将程序暗示的证明问题传递给后端求解器。(GPL-2.0-only)
-
微服务
- Apollo - 用于编写可组合微服务的库。
- Armeria - 基于Java 8,Netty,HTTP/2,Thrift和gRPC构建的异步RPC/REST客户端/服务器库。
- consul-api - Consul API的客户端: 分布式、高可用性和数据中心感知的注册/发现服务。
- Eureka - 基于REST的服务注册表,用于弹性负载平衡和故障转移。
- JDA - 包装Discord REST API及其WebSocket事件。
- kubernetes-client - 客户端通过流畅的DSL提供对完整Kubernetes和OpenShift REST api的访问。
- OpenAI-Java - 用于使用OpenAI GPT-3 API的Java库。
- Sentinel - 流量控制组件,实现微服务的可靠性、弹性和监控。
- KeenType - 新排版系统的基于Java的实现的现代化版本,该系统主要基于Donald E. Knuth的原始TeX。
-
性能分析
- GCeasy ![c - 分析和可视化GC日志的工具。它提供了一个免费的基于云的上传界面。
- JMH - 用于构建,运行和分析以Java和其他语言编写的针对JVM的纳米/微/毫/宏基准的线束。(仅与Classpath-exception-2.0一起GPL-2.0)
- honest-profiler - 低开销,无偏差采样分析器。
- jHiccup - 日志和记录平台JVM失速。
- JITWatch - 分析HotSpot JVM所做的JIT编译器优化。
- LatencyUtils - 用于延迟测量和报告的实用程序。
-
搜索
- Elasticsearch - 分布式,支持多租户的全文搜索引擎,具有RESTful web界面和无架构的JSON文档。
- Indexer4j - 简单而轻便的全文索引和搜索库。
-
数据库
- Debezium - 用于更改数据捕获的低延迟数据流平台。
- HSQLDB - HyperSQL 100% Java数据库。
- Lettuce - 生菜是一个可扩展的Redis客户端,用于构建非阻塞反应式应用程序。
- Realm - 移动数据库直接在手机,平板电脑或可穿戴设备中运行。
- requery - 现代,轻量级但功能强大的对象映射和SQL生成器。轻松映射或创建数据库,或从任何使用Java的平台执行查询和更新。
- Querydsl - Typesafe统一查询。
- ArangoDB - ArangoDB Java驱动程序。
- Chronicle Map - 高效、内存中 (opt.持久化到磁盘) 、堆外键值存储。
- eXist - NoSQL文档数据库和应用平台。(LGPL-2.1-only)
- FlexyPool - 为最常见的连接池解决方案带来指标和故障转移策略。
-
Programming Languages
Sub Categories
人
54
测试
48
杂项
31
数据库
26
安全
21
实用程序
21
网站
18
监测
16
JSON
16
科学
13
相关的真棒列表
12
Web框架
12
REST框架
12
代码分析
12
联网
12
代码生成器
11
机器学习
11
JVM和JDK
11
配置
11
模板引擎
10
分布式应用程序
10
日志记录
9
字节码操作
9
Bean映射
9
PDF
9
HTTP客户端
9
消息传递
9
微服务
9
分布
9
依赖注入
8
数据结构
8
发展
8
播客和截屏
7
高性能
7
有影响力的书籍
7
函数式编程
7
CLI
7
作业调度
7
内省
6
图像
6
性能分析
6
财务
6
形式验证
6
序列化
6
站台
6
游戏开发
5
ORM
5
地理空间
5
CSV
5
原生
4
文档处理
4
服务器
4
反应式库
4
日期和时间
4
GUI
4
版本管理器
3
Web爬行
3
IDE
3
流程
3
构建
3
约束满足问题求解器
3
代码覆盖率
3
超媒体类型
3
自然语言处理
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