Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-java-zh

Java 编程语言的优秀框架、库和软件的精选列表
https://github.com/awesome-code-resources/awesome-java-zh

Last synced: about 8 hours ago
JSON representation

  • 资源

  • 项目

    • 字节码操作

      • Recaf - JVM逆向工程工具包,本质上是Java字节码的IDE。
      • bytecode-viewer - Java 8 Jar & Android APK逆向工程套件。(GPL-3.0-only)
      • cglib - 字节码生成库。
      • Javassist - 试图简化字节码编辑。
      • Maker - 提供低级别的字节码生成。
      • Mixin - 使用真正的Java代码在运行时操作字节码。
      • Perses - 根据混沌工程的原理在字节码级别动态注入故障/延迟。
      • Byteman - 通过DSL (规则) 在运行时操纵字节码; 主要用于测试/故障排除。(LGPL-2.1-or-later)
    • 代码覆盖率

      • Clover - 依赖于源代码工具而不是字节码工具。
      • Cobertura - 依靠离线 (或静态) 字节码检测和类加载来收集代码覆盖率指标。(GPL-2.0-only)
      • JaCoCo - 允许使用离线和运行时字节码工具收集代码覆盖率指标的框架。
    • 代码生成器

      • Avaje Http Server - 使用Javalin或Helidon (Nima) SE生成轻量级jax-rs样式的http服务器。
      • ADT4J - 代数数据类型的JSR-269代码生成器。
      • Auto - 生成工厂、服务和值类。
      • FreeBuilder - 自动生成构建器模式。
      • Geci - 发现需要生成代码的文件,自动更新并使用方便的API写入源代码。
      • JavaPoet - 生成源文件的API。
      • JHipster - 用于Spring Boot和AngularJS的Yeoman源代码生成器。
      • Record-Builder - 同伴构建器类,Java记录的枯萎和模板。
      • Joda-Beans - 为Java添加可查询属性的小框架,增强了JavaBeans。
      • Telosys - 简单而轻便的代码生成器可作为Eclipse插件和CLI使用。
    • 配置

      • avaje config - 加载yaml和属性文件,支持动态配置,插件,文件监视和配置事件侦听器。
      • centraldogma - 基于Git、ZooKeeper和HTTP/2的高可用版本控制服务配置库。
      • config - 配置库支持Java属性,JSON或其人类优化的超集HOCON。
      • Configurate - 支持各种配置格式和转换的配置库。
      • dotenv - 使用特定于环境的文件的十二因素配置库。
      • Externalized Properties - 轻量级但功能强大的配置库,支持从外部源和可扩展的后处理/转换机制的属性的分辨率。
      • Gestalt - Gestalt为配置管理的挑战提供了全面的解决方案。它允许您从多个输入获取配置数据,智能地合并它们,并以结构化、类型安全的方式呈现它们。
      • KAConf - 用于Java和Kotlin的基于注释的配置系统。
      • owner - 减少属性的样板。
      • Curator Framework - Apache ZooKeeper的高级API。
    • 微服务

      • KeenType - 新排版系统的基于Java的实现的现代化版本,该系统主要基于Donald E. Knuth的原始TeX。
    • 数据库

      • HSQLDB - HyperSQL 100% Java数据库。
      • Lettuce - 生菜是一个可扩展的Redis客户端,用于构建非阻塞反应式应用程序。
      • Realm - 移动数据库直接在手机,平板电脑或可穿戴设备中运行。
      • ArangoDB - ArangoDB Java驱动程序。
      • Chronicle Map - 高效、内存中 (opt.持久化到磁盘) 、堆外键值存储。
      • eXist - NoSQL文档数据库和应用平台。(LGPL-2.1-only)
      • FlexyPool - 为最常见的连接池解决方案带来指标和故障转移策略。
      • HikariCP - 高性能JDBC连接池。
      • Jedis - 用于与Redis交互的小客户端,具有用于命令的方法。
      • 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生成器。
      • Debezium - 用于更改数据捕获的低延迟数据流平台。
      • Trino - 用于大数据的分布式SQL查询引擎。
      • Querydsl - Typesafe统一查询。
      • requery - 现代,轻量级但功能强大的对象映射和SQL生成器。轻松映射或创建数据库,或从任何使用Java的平台执行查询和更新。
    • 依赖注入

      • Avaje Inject - 专注于微服务的编译时注入框架,无需反射。
      • Dagger - 没有反射的编译时注入框架。
      • Feather - 超轻量级,JSR-330-compliant依赖注入库。
      • Governator - 增强Google Guice的扩展和实用程序。
      • Guice - 轻量级和固执己见的框架,完成匕首。
      • HK2 - 轻量级和动态依赖注入框架。
      • JayWire - 轻量级的依赖注入框架。(LGPL-3.0-only)
      • Inversion of Control
    • 分布式应用程序

      • Quasar - JVM的轻量级线程和actor。
      • Dropwizard Circuit Breaker - Dropwizard的断路器设计模式。(GPL-2.0-only)
      • Failsafe - 简单的故障处理与重试和断路器。
      • Hazelcast - 具有免费开源版本的高度可扩展的内存datagrid。
    • 文档处理

      • documents4j - 使用第三方转换器 (如MS Word) 进行文档格式转换的API。
      • docx4j - 创建和操作Microsoft Open XML文件。
    • 形式验证

      • Daikon - 检测可能的程序不变量,并根据这些不变量生成JML规范。
      • JMLOK 2.0 - 通过反馈导向的随机测试生成来检测代码和JML规范之间的不一致,并建议检测到的每个不一致的可能原因。(GPL-3.0-only)
    • 游戏开发

      • Litiengine - 基于AWT的轻量级2D游戏引擎。
      • JBox2D - 著名的C 2D物理引擎的端口。
    • GUI

      • JavaFX - Swing的继任者.
      • Scene Builder - 用于JavaFX应用程序的可视化布局工具。
      • SWT - 图形小部件工具包。
    • 高性能

      • HPPC - 原始集合。
    • HTTP客户端

    • IDE

      • Visual Studio Code - 通过使用内部市场的扩展,为轻量级项目提供Java支持,并提供简单的现代工作流。
      • SnapCode - 用于在浏览器中运行的Java的现代IDE,专注于教育。
    • JSON

      • Avaje Jsonb - 通过使用类似Jackson的注释生成源代码进行无反射的Json绑定。
      • Gson - 将对象序列化为JSON,反之亦然。良好的性能与飞行使用。
      • Moshi - 现代JSON库,不太固执己见,并使用内置类型,如列表和地图。
      • Genson - 功能强大且易于使用的Java到JSON转换库。
      • Jackson - 与GSON类似,但如果您需要更频繁地实例化库,则可以提供性能提升。
    • JVM和JDK

      • Corretto - 亚马逊的OpenJDK的无成本,多平台,生产就绪分发。(与Classpath-exception-2.0 GPL-2.0-only)
      • Open JDK - 打开JDK社区主页。(与Classpath-exception-2.0 GPL-2.0-only)
      • ParparVM - VM与非阻塞,并发GC的iOS。(与Classpath-exception-2.0 GPL-2.0-only)
      • RedHat Open JDK - RedHat的OpenJDK发行版。(与Classpath-exception-2.0 GPL-2.0-only)
      • Adopt Open JDK - 社区驱动的OpenJDK构建,包括HotSpot和openj9。
    • 日志记录

      • Kibana - 分析和可视化日志文件。某些功能需要付款。
      • Logstash - 用于管理日志文件的工具。
      • tinylog - 具有静态记录器类的轻量级日志记录框架。
    • 机器学习

      • oj! Algorithms - 数据科学,机器学习和科学计算所需的高性能数学,线性代数和优化。
      • Tribuo - 提供用于分类,回归,聚类,模型开发的工具以及与其他库 (如scikit-learn,pytorch和TensorFlow) 的接口。
      • Weka - 从预处理到可视化的数据挖掘任务的算法集合。(GPL-3.0-only)
    • 监测

      • hippo4j - 动态和可观察的线程池框架。
      • inspectIT - 通过钩子捕获详细的运行时信息,可以在飞行中更改。它支持通过OpenTracing API跟踪多个系统,并可以将数据与最终用户监控相关联。
    • PDF

    • 性能分析

      • GCeasy ![c - 分析和可视化GC日志的工具。它提供了一个免费的基于云的上传界面。
      • JMH - 用于构建,运行和分析以Java和其他语言编写的针对JVM的纳米/微/毫/宏基准的线束。(仅与Classpath-exception-2.0一起GPL-2.0)
    • 站台

      • Chain - 责任链模式的实施。
      • Functor - 可以作为对象或表示单个通用函数的对象进行操作的函数。
      • Logging - 围绕各种日志API实现的包装。
      • OGNL - 对象图导航语言。
      • Proxy - 用于创建动态代理的库。
      • RDF - 可以由JVM上的系统实现的RDF 1.1的常见实现。
      • RNG - Commons Rng提供伪随机数生成器的实现。
      • Spring - 提供了许多用于依赖注入,面向方面编程,安全性等的软件包。
    • 科学

      • BioJava - 通过提供生物信息学中常用的算法,文件格式解析器,测序和3D可视化,促进处理生物数据。
      • DataMelt - 科学计算,数据分析和数据可视化的环境。(GPL-3.0-or-later)
      • Orekit - 一个低级别的太空飞行动力学库,提供基本元素 (轨道,日期,姿态,帧...) 和各种算法 (转换,传播,指向...) 来处理它们。
    • 测试

      • GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。(GPL-2.0-only)
      • JUnit - 通用测试框架。
    • Web框架

      • Javalin - web应用程序的微框架。
    • Bean映射

      • dOOv - 为类型安全域模型验证和映射提供fluent API。它使用注释,代码生成和类型安全的DSL,使bean验证和映射快速和容易。
      • JMapper - 使用字节码操作闪电快速映射。支持注释和API或XML配置。
      • MapStruct - 代码生成器,它基于约定配置方法简化了不同bean类型之间的映射。
      • ModelMapper - 智能对象映射库,自动将对象映射到彼此。
      • Orika - JavaBean映射框架,递归地将数据从一个对象 (以及其他功能) 复制到另一个对象。
      • reMap - Lambda和基于方法句柄的映射,如果对象具有不同的名称,则需要代码而不是注释。
      • Selma - 基于注释处理器的bean映射器。
    • 构建

      • Buck - 鼓励创建由代码和资源组成的小型可重用模块。
      • Gradle - 通过Groovy而不是声明XML编程的增量构建。适用于Maven的依赖管理。
    • 缓存

      • Caffeine - 高性能,接近最佳的缓存库。
    • CLI

      • Airline - 基于注释的框架,用于解析类似Git的命令行参数。
      • jbock - Reflectionless命令行解析器。
      • JLine - 包括从现代炮弹,如完成或历史的功能。
      • Jansi - ANSI转义代码格式化控制台输出。
      • Jexer - 高级控制台 (和Swing) 文本用户界面 (TUI) 库,具有鼠标可拖动窗口,内置终端窗口管理器和sixel图像支持。看起来像[Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision)。
      • Text-IO - 帮助创建完整的基于控制台的应用程序。
      • Lanterna - 简单的控制台文本GUI库,类似于诅咒。(LGPL-3.0-only)
    • 代码分析

      • Checkstyle - 编码约定和标准的静态分析。(LGPL-2.1-or-later)
      • Error Prone - 捕获常见的编程错误作为编译时错误。
      • Error Prone Support - 容易出错的扩展: 额外的错误检查器和大量的更快的模板。
      • jQAssistant - 使用Neo4J-based查询语言进行静态代码分析。(GPL-3.0-only)
      • NullAway - 消除具有低构建时间开销的NullPointerExceptions。
      • PMD - 用于查找不良编码实践的源代码分析。
      • p3c - 提供阿里巴巴的PMD、IDEA和Eclipse的编码指南。
      • RefactorFirst - 识别并优先考虑上帝类和高度耦合类。
      • SonarJava - SonarQube & SonarLint的静态分析仪。(LGPL-3.0-only)
      • Spoon - 用于分析和转换Java源代码的库。
      • Spotbugs - 字节码的静态分析,以发现潜在的错误。(LGPL-2.1-only)
      • Infer - 现代静态分析工具,用于验证代码的正确性。
    • 编译器-编译器

      • JavaCC - 生成自顶向下解析器的解析器生成器。允许词法状态切换,并允许扩展的BNF规范。
    • 计算机视觉

      • JavaCV - Java接口OpenCV,FFmpeg,以及更多。
    • 约束满足问题求解器

      • JaCoP - 包括FlatZinc语言的接口,使其能够执行MiniZinc模型。(AGPL-3.0)
      • Timefold - 具有Spring/Quarkus支持和快速入门的灵活求解器,用于解决车辆路线问题,维护计划,员工轮班计划等。
    • CSV

      • FastCSV - 性能优化,无依赖和RFC 4180兼容。
      • jackson-dataformat-csv - 用于读取和写入CSV的Jackson扩展。
      • Super CSV - 强大的CSV解析器,支持Dozer,joda-time和Java 8。
      • uniVocity-parsers - 最快和最完整的功能解析器之一。还带有用于TSV和固定宽度记录的解析器。
    • 数据结构

      • Big Queue - 基于内存映射文件的快速和持久队列。
      • HyperMinHash-java - 用于在日志空间中计算并集,交集和集合基数的概率数据结构。
      • Persistent Collection - Java集合框架的持久和不可变的模拟。
      • Protobuf - Google的数据交换格式。
      • RoaringBitmap - 快速和高效的压缩位图。
      • SBE - 简单的二进制编码,最快的消息格式之一。
      • Wire - 干净,轻量级的协议缓冲区。
      • Tape - 闪电般快速,事务性,基于文件的FIFO。
    • 日期和时间

      • iCal4j - 解析和构建iCalendar[RFC 5545](https://tools.ietf.org/html/rfc5545)数据模型。
      • Jollyday - 确定给定年份,国家/地区和最终州/地区的假期。
      • ThreeTen-Extra - 补充JDK 8中的日期时间类。
      • Time4J - 先进的日期和时间库。(LGPL-2.1-only)
    • 发展

      • Faux Pas - 库,通过规避默认情况下不允许Java运行时中的任何函数式接口抛出检查异常的问题,简化了错误处理。
      • HotswapAgent - 无限的运行时类和资源重新定义。(GPL-2.0-only)
      • JavaParser - 解析,修改和生成Java代码。
      • JavaSymbolSolver - 符号求解器。
      • Manifold - 重新激发Java强大的功能,如类型安全元编程,结构类型和扩展方法。
      • SneakyThrow - 忽略没有字节码操作的检查异常。也可以在Java 8流操作中使用。
      • Tail - 使用尾调用优化启用无限递归。
    • 图像

      • ZXing - 多格式1D/2D条码图像处理库。
    • 安全

      • Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
      • Themis - 多平台高级加密库为保护敏感数据提供易于使用的加密: 具有前向保密性的安全消息传递,安全数据存储 (AES256GCM); 适合构建端到端加密应用程序。
    • 分布

      • IzPack - 用于跨平台部署的设置创作工具。
    • REST框架

      • Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
      • Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
      • Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
      • Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
      • Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
    • 函数式编程

      • Functional Java - 实现了许多基本和高级编程抽象,有助于面向组合的开发。
    • 杂项

      • Joda-Money - JDK未提供的基本货币和货币类和算法。
      • Svix - 用于Svix API的库,用于发送webhook并验证签名。
    • 内省

      • Mirror - Mirror的创建是为了解决一个简单的问题,通常将其命名为ReflectionUtil,该问题几乎适用于所有依靠反射来执行高级任务的项目。
    • 自然语言处理

      • CoreNLP - 为标记、命名实体识别和情感分析等任务提供了一组基本工具。(GPL-3.0-or-later)
    • 反应式库

      • RxJava - 允许使用可观察序列组成异步和基于事件的程序。
    • 实用程序

      • Guava - 集合,缓存,原语支持,并发库,通用注释,字符串处理,I/O等。
      • JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
      • JGit - 实现Git版本控制系统的轻量级纯Java库。
      • JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
    • 服务器

      • Jetty - 提供Web服务器和javax.servlet容器,以及对HTTP/2,WebSocket,OSGi,JMX,JNDI,JAAS和许多其他集成的支持。
    • 搜索

      • Elasticsearch - 分布式,支持多租户的全文搜索引擎,具有RESTful web界面和无架构的JSON文档。
  • 贡献