精选的精彩 Java 框架、库和软件列表。
- 项目
- Bean 映射
- 建造
- 字节码操作
- 缓存
- 命令行界面
- 集群管理
- 代码分析
- 代码覆盖率
- 代码生成器
- 编译器-编译器
- 计算机视觉
- 配置
- 约束满足问题求解器
- CSV
- 数据结构
- 数据库
- 日期和时间
- 依赖注入
- 发展
- 分布式应用程序
- 分布式事务
- 分配
- 文件处理
- 金融的
- 形式验证
- 函数式编程
- 游戏开发
- 地理空间
- 图形用户界面
- 高性能
- HTTP 客户端
- 超媒体类型
- 集成开发环境
- 图像
- 内省
- 作业调度
- JSON
- JVM 和 JDK
- 记录
- 机器学习
- 消息传递
- 微服务
- 各种各样的
- 移动开发
- 监控
- 本国的
- 自然语言处理
- 联网
- ORM
- 平台即服务
- 性能分析
- 平台
- 流程
- 反应式库
- REST 框架
- 科学
- 搜索
- 安全
- 序列化
- 服务器
- 模板引擎
- 测试
- 公用事业
- 版本管理器
- 网络爬行
- 网络框架
- 工作流编排引擎
- 资源
- 贡献
简化 bean 映射的框架。
- dOOv - 为类型安全域模型验证和映射提供流畅的 API。它使用注释、代码生成和类型安全 DSL 来使 Bean 验证和映射变得快速而简单。
- JMapper - 使用字节码操作进行快速映射。支持注释和 API 或 XML 配置。
- MapStruct - 基于约定优于配置的方法,简化不同 bean 类型之间映射的代码生成器。
- ModelMapper - 智能对象映射库,可自动将对象相互映射。
- Orika - JavaBean 映射框架,可将数据(以及其他功能)从一个对象递归复制到另一个对象。
- reMap - Lambda 和基于方法句柄的映射,如果对象具有不同名称,则需要代码而不是注释。
- Selma - 基于注释处理器的 bean 映射器。
处理应用程序的构建周期和依赖性的工具。
- Apache Maven - 声明式构建和依赖关系管理,有利于约定优于配置。它可能比 Apache Ant 更好,后者使用相当程序化的方法并且可能难以维护。
- Bazel - 来自 Google 的工具,可快速可靠地构建代码。
- Buck - 鼓励创建由代码和资源组成的小型、可重用模块。
- Gradle - 通过 Groovy 编程的增量构建,而不是声明 XML。与 Maven 的依赖管理配合良好。
以编程方式操作字节码的库。
- ASM - 通用、低级字节码操作和分析。
- Byte Buddy - 通过流畅的 API 进一步简化字节码生成。
- bytecode-viewer - Java 8 Jar 和 Android APK 逆向工程套件。(仅限 GPL-3.0)
- Byteman - 通过 DSL(规则)在运行时操作字节码;主要用于测试/故障排除。(LGPL-2.1 或更高版本)
- cglib - 字节码生成库。
- Javassist - 尝试简化字节码编辑。
- Maker - 提供低级字节码生成。
- Mixin - 使用真实的 Java 代码在运行时操作字节码。
- Perses - 根据混沌工程原理在字节码级别动态注入故障/延迟。
- Recaf - JVM 逆向工程工具包,本质上是 Java 字节码的 IDE。
提供缓存设施的库。
- cache2k - 内存中高性能缓存库。
- Caffeine - 高性能、近乎最佳的缓存库。
- Ehcache - 分布式通用缓存。
- Infinispan - 用于缓存的高度并发键/值数据存储。
与 CLI 相关的所有内容的库。
协助解析命令行参数的库。
- Airline - 基于注释的框架,用于解析类似 Git 的命令行参数。
- JCommander - 命令行参数解析框架,具有自定义类型和通过实现接口进行验证。
- jbock - 无反射命令行解析器。
- JLine - 包括现代 shell 的功能,例如完成或历史记录。
- picocli - 使用中的 ANSI 颜色和样式有助于基于注释的 POSIX/GNU/任何语法、子命令、选项和位置参数的强类型。
提供 TUI 框架或构建块相关功能的库。
- Jansi - 用于格式化控制台输出的 ANSI 转义码。
- Jexer - 高级控制台(和 Swing)文本用户界面(TUI)库,具有可鼠标拖动的窗口、内置终端窗口管理器和 Sixel 图像支持。看起来像涡轮视觉。
- Text-IO - 帮助创建完整的基于控制台的应用程序。
- Lanterna - 简单的控制台文本 GUI 库,类似于诅咒。(仅限 LGPL-3.0)
可以动态管理集群内应用程序的框架。
- Apache Aurora - 用于长时间运行的服务和 cron 作业的 Mesos 框架。
- Singularity - Mesos 框架,使部署和操作变得简单。它支持 Web 服务、后台工作人员、计划作业和一次性任务。
提供指标和质量测量的工具。
- Checkstyle - 编码约定和标准的静态分析。(LGPL-2.1 或更高版本)
- 容易出错- 将常见的编程错误捕获为编译时错误。
- 容易出错的支持- 容易出错的扩展:额外的错误检查器和大量的 Refaster 模板。
- Infer - 用于验证代码正确性的现代静态分析工具。
- jQAssistant - 使用基于 Neo4J 的查询语言进行静态代码分析。(仅限 GPL-3.0)
- NullAway - 以较低的构建时间开销消除 NullPointerExceptions。
- PMD - 用于查找不良编码实践的源代码分析。
- p3c - 提供阿里巴巴的 PMD、IDEA 和 Eclipse 编码指南。
- RefactorFirst - 识别上帝类和高度耦合类并确定优先级。
- SonarJava - SonarQube 和 SonarLint 的静态分析器。(仅限 LGPL-3.0)
- Spoon - 用于分析和转换 Java 源代码的库。
- Spotbugs - 字节码的静态分析以查找潜在的错误。(仅限 LGPL-2.1)
支持测试套件代码覆盖率指标收集的框架和工具。
- Clover - 依赖源代码检测而不是字节码检测。
- Cobertura - 依靠离线(或静态)字节码检测和类加载来收集代码覆盖率指标。(仅限 GPL-2.0)
- JaCoCo - 使用离线和运行时字节码检测来收集代码覆盖率指标的框架。
为重复代码生成模式以减少冗长和容易出错的工具。
- ADT4J - 用于代数数据类型的 JSR-269 代码生成器。
- 自动- 生成工厂、服务和值类。
- Avaje Http Server - 使用 Javalin 或 Helidon (Nima) SE 生成轻量级 JAX-RS 风格的 http 服务器。
- Bootify
- 使用 JPA 模型和 REST API 生成基于浏览器的 Spring Boot 应用程序。
- FreeBuilder - 自动生成 Builder 模式。
- Geci - 发现需要生成代码的文件,自动更新并使用方便的 API 写入源。
- Immutables - 用于生成简单、安全且一致的值对象的注释处理器。
- JavaPoet - 用于生成源文件的 API。
- JHipster - 适用于 Spring Boot 和 AngularJS 的 Yeoman 源代码生成器。
- Joda-Beans - 小型框架,向 Java 添加可查询属性,增强 JavaBeans。
- JPA Buddy
- IntelliJ IDEA 插件。提供用于生成 JPA 实体、Spring Data JPA 存储库、Liquibase 变更日志和 SQL 脚本的可视化工具。通过将模型与数据库进行比较,以及从数据库表逆向工程 JPA 实体,提供自动 Liquibase/Flyway 脚本生成。
- Lombok - 旨在减少冗长的代码生成器。
- Record-Builder - Java 记录的配套构建器类、withers 和模板。
- Telosys - 简单、轻便的代码生成器,可作为 Eclipse 插件和 CLI 使用。
帮助创建解析器、解释器或编译器的框架。
寻求从图像和视频中获取高级信息的图书馆。
- BoofCV - 用于图像处理、相机校准、跟踪、SFM、MVS、3D 视觉、QR 码等的库。
- ImageJ - 具有 API 的医学图像处理应用程序。
- JavaCV - OpenCV、FFmpeg 等的 Java 接口。
提供外部配置的库。
- avaje config - 加载 yaml 和属性文件,支持动态配置、插件、文件监视和配置事件侦听器。
- centraldogma - 基于 Git、ZooKeeper 和 HTTP/2 的高可用版本控制服务配置存储库。
- config - 支持 Java 属性、JSON 或其人类优化超集 HOCON 的配置库。
- 配置- 支持各种配置格式和转换的配置库。
- Curator Framework - Apache ZooKeeper 的高级 API。
- dotenv - 使用特定于环境的文件的十二因素配置库。
- 外部化属性- 轻量级但功能强大的配置库,支持从外部源解析属性和可扩展的后处理/转换机制。
- Gestalt - Gestalt 为配置管理的挑战提供了全面的解决方案。它允许您从多个输入中获取配置数据,智能地合并它们,并以结构化、类型安全的方式呈现它们。
- ini4j - 提供用于处理 Windows 的 INI 文件的 API。
- KAConf - 用于 Java 和 Kotlin 的基于注释的配置系统。
- microconfig - 为微服务设计的配置系统,有助于将配置与代码分离。不同服务的配置可以具有公共部分和特定部分,并且可以动态分布。
- 所有者- 减少属性的样板。
帮助解决优化和可满足性问题的库。
- Choco - 使用约束编程技术的现成约束满足问题求解器。
- JaCoP - 包括 FlatZinc 语言的接口,使其能够执行 MiniZinc 模型。(AGPL-3.0)
- OptaPlanner - 业务规划和资源调度优化求解器。
- Timefold - 灵活的求解器,支持 Spring/Quarkus 以及车辆路线问题、维护计划、员工轮班计划等的快速入门。
简化读取/写入 CSV 数据的框架和库。
- FastCSV - 性能优化、无依赖性且符合 RFC 4180。
- jackson-dataformat-csv - 用于读取和写入 CSV 的 Jackson 扩展.
- opencsv - 简单的 CSV 解析器。
- Super CSV - 强大的 CSV 解析器,支持 Dozer、Joda-Time 和 Java 8.
- uniVocity-parsers - 最快且功能最齐全的解析器之一。还附带 TSV 和固定宽度记录的解析器。
高效且特定的数据结构。
- Apache Avro - 具有动态类型、未标记数据且无需手动分配 ID 的数据交换格式。
- Apache Orc - 适用于基于 Hadoop 的工作负载的快速高效的列式存储格式。
- Apache Parquet - 基于 Google 关于 Dremel 论文的汇编算法的列式存储格式。
- Apache Thrift - 起源于 Facebook 的数据交换格式。
- Big Queue - 基于内存映射文件的快速且持久的队列。
- HyperMinHash-java - 用于计算 loglog 空间中的并集、交集和集合基数的概率数据结构。
- 持久集合- Java 集合框架的持久且不可变的类似物。
- Protobuf - Google 的数据交换格式。
- RoaringBitmap - 快速高效的压缩位图。
- SBE - 简单二进制编码,最快的消息格式之一。
- 磁带- 快如闪电、事务性、基于文件的 FIFO。
- Wire - 干净、轻量级的协议缓冲区。
一切都简化了与数据库的交互。
- Apache Calcite - 动态数据管理框架。它包含构成典型数据库管理系统的许多部分。
- Apache Drill - 用于大数据探索的分布式、动态模式、ANSI SQL 查询引擎。
- Apache Phoenix - HBase 上的高性能关系数据库层,适用于低延迟应用程序。
- ArangoDB - ArangoDB Java 驱动程序。
- Chronicle Map - 高效、内存中(选择持久化到磁盘)、堆外键值存储。
- Debezium - 用于变更数据捕获的低延迟数据流平台。
- druid - 高性能、面向列的分布式数据存储。
- eXist - NoSQL 文档数据库和应用程序平台。(仅限 LGPL-2.1)
- FlexyPool - 将指标和故障转移策略引入最常见的连接池解决方案。
- Flyway - 简单的数据库迁移工具。
- H2 - 小型 SQL 数据库,以其内存功能而闻名。
- HikariCP - 高性能 JDBC 连接池。
- HSQLDB - HyperSQL 100% Java 数据库。
- JDBI - JDBC 的便捷抽象。
- Jedis - 用于与 Redis 交互的小型客户端,具有命令方法。
- Jest - Elasticsearch REST API 的客户端。
- jetcd -etcd 的客户端库。
- Jinq - 通过 Java 8 Lambda 的符号执行(在 JPA 或 jOOQ 之上)进行类型安全数据库查询。
- jOOQ - 基于 SQL 模式生成类型安全代码。
- Leaf - 分布式 ID 生成服务。
- Lettuce -Lettuce 是一个可扩展的 Redis 客户端,用于构建非阻塞响应式应用程序。
- Liquibase - 独立于数据库的库,用于跟踪、管理和应用数据库模式更改。
- MapDB - 嵌入式数据库引擎,提供支持在磁盘或堆外内存中的并发集合。
- MariaDB4j - MariaDB 的启动器,无需安装或外部依赖项。
- Modality - 具有数据库逆向工程功能的轻量级 ORM。
- OpenDJ - 符合 LDAPv3 的目录服务,为 Java 平台开发,为身份提供高性能、高可用性和安全的存储。
- Querydsl - 类型安全统一查询。
- QueryStream - 使用类似 Stream 的 API 构建 JPA Criteria 查询。
- QuestDB - 用于时间序列的高性能 SQL 数据库。支持 InfluxDB 线路协议、PostgreSQL 线路协议和 REST。
- Realm - 直接在手机、平板电脑或可穿戴设备内运行的移动数据库。
- Redisson - 允许在 Redis 服务器上使用分布式且可扩展的数据结构。
- requery - 现代、轻量级但功能强大的对象映射和 SQL 生成器。轻松映射或创建数据库,或从任何使用 Java 的平台执行查询和更新。
- Speedment - 利用 Java 8 的 Stream API 进行查询的数据库访问库。
- Spring Data JPA MongoDB 表达式- 允许您使用 MongoDB 查询语言来查询关系数据库。
- Trino - 用于大数据的分布式 SQL 查询引擎。
- Vibur DBCP - 具有高级性能监控功能的 JDBC 连接池库。
- Xodus - 高度并发事务无模式且符合 ACID 的嵌入式数据库。
- CosId - 通用、灵活、高性能的分布式 ID 生成器。
与处理日期和时间相关的库。
- iCal4j - 解析和构建 iCalendar RFC 5545数据模型。
- Jollyday - 确定给定年份、国家/名称以及最终州/地区的假期。
- ThreeTen-Extra - 补充 JDK 8 中的附加日期时间类。
- Time4J - 高级日期和时间库。(仅限 LGPL-2.1)
有助于实现控制反转范式的库。
- Apache DeltaSpike - CDI 扩展框架。
- Avaje Inject - 专注于微服务的编译时注入框架,无需反射。
- Dagger - 无反射的编译时注入框架。
- Feather - 超轻量级、符合 JSR-330 的依赖注入库。
- Governator - 增强 Google Guice 的扩展和实用程序。
- Guice - 完成 Dagger 的轻量级且固执己见的框架。
- HK2 - 轻量级动态依赖注入框架。
- JayWire - 轻量级依赖注入框架。(仅限 LGPL-3.0)
从根本上增强开发过程。
- AspectJ - 无缝的面向方面的编程扩展。
- DCEVM - JVM 修改,允许在运行时无限制地重新定义加载的类。(仅限 GPL-2.0)
- Faux Pas - 通过规避默认情况下不允许 Java 运行时中的任何功能接口抛出检查异常的问题来简化错误处理的库。
- HotswapAgent - 无限制的运行时类和资源重新定义。(仅限 GPL-2.0)
- JavaParser - 解析、修改和生成 Java 代码。
- JavaSymbolSolver - 符号求解器。
- Manifold - 通过类型安全元编程、结构类型和扩展方法等强大功能重新激活 Java。
- NoException - 允许在功能接口中检查异常并将异常转换为可选返回。
- SneakyThrow - 忽略检查的异常而不进行字节码操作。也可以在 Java 8 流操作中使用。
- Tail - 使用尾调用优化启用无限递归。
用于编写分布式和容错应用程序的库和框架。
- Apache Geode - 内存数据管理系统,提供可靠的异步事件通知和有保证的消息传递。
- Apache Storm - 实时计算系统。
- Apache ZooKeeper - 大型分布式系统的分布式配置、同步和命名注册表的协调服务。
- Atomix - 容错分布式协调框架。
- Axon - 用于创建 CQRS 应用程序的框架。
- Dropwizard Circuit Breaker - Dropwizard 的断路器设计模式. (仅限 GPL-2.0)
- 故障安全- 通过重试和断路器进行简单的故障处理。
- Hazelcast - 高度可扩展的内存数据网格,具有免费的开源版本。
- JGroups - 用于可靠消息传递和集群创建的工具包。
- Quasar - JVM 的轻量级线程和参与者。
- resilience4j - 功能容错库。
- OpenIG - 具有专门会话管理和凭证重播功能的高性能反向代理服务器。
- ScaleCube Services - 基于 SWIM 和 gossip 协议的嵌入式集群成员库。
- Zuul - 提供动态路由、监控、弹性、安全性等的网关服务。
分布式事务提供了一种在并发访问和部分失败的情况下确保数据更新一致性的机制。
- Atomikos - 为 REST、SOA 和微服务提供事务,并支持 JTA 和 XA。
- Bitronix - JTA 1.1 API 的简单但完整的实现。
- Narayana - 提供对传统ACID和补偿事务的支持,也符合JTA、JTS等标准。(仅限 LGPL-2.1)
- Seata - 在微服务架构下提供高性能且易于使用的分布式事务服务。
以本机格式处理应用程序分发的工具。
- Artipie - 二进制工件管理工具包,将它们托管在文件系统或 S3 上。
- Boxfuse
- 使用不可变基础设施的原则将 JVM 应用程序部署到 AWS。
- Capsule - 简单而强大的打包和部署。类固醇的胖 JAR,或支持 JVM 优化容器的“Docker for Java”。
- 中央存储库- 最大的二进制组件存储库,可作为免费服务向开源社区提供。默认由 Apache Maven 使用,并且可在所有其他构建工具中使用。
- Cloudsmith
- 完全托管的包管理 SaaS,支持 Maven/Gradle/SBT 并提供免费套餐。
- Getdown - 用于将 Java 应用程序部署到最终用户计算机并使其保持最新的系统。开发作为 Java Web Start 的替代方案。
- IzPack - 用于跨平台部署的设置创作工具。
- JavaPackager - Maven 和 Gradle 插件,提供了一种简单的方法来将 Java 应用程序打包到本机 Windows、macOS 或 GNU/Linux 可执行文件中,并为其生成安装程序。
- jDeploy - 将桌面应用程序部署为本机 Mac、Windows 或 Linux 捆绑包。
- jlink.online - 通过 HTTP 构建优化的运行时。
- Nexus
- 具有代理和缓存功能的二进制管理。
- packr - 打包 JAR、资产和 JVM,以便在 Windows、Linux 和 macOS 上进行本机分发。
- real-executable-jars-maven-plugin - 用于制作自执行 JAR 的 Maven 插件.
协助处理办公文档格式的库。
- Apache POI - 支持 OOXML(XLSX、DOCX、PPTX)以及 OLE2(XLS、DOC 或 PPT)。
- Documents4j - 使用第三方转换器(例如 MS Word)进行文档格式转换的 API。
- docx4j - 创建和操作 Microsoft Open XML 文件。
- fastexcel - 用于读取和写入大型 Excel (XLSX) 工作表的高性能库。
- Zerocell - 基于注释的 API,用于将数据从 Excel 工作表读取到 POJO,重点是减少开销。
与金融领域相关的图书馆。
- Cassandre - 交易机器人框架。
- Parity - 交易场所平台。
- 费城- 低延迟金融信息交换。
- Square - 与 Square API 集成。
- Stripe - 与 Stripe API 集成。
- ta4j - 用于技术分析的库。
形式化方法工具:证明助手、模型检查、符号执行等。
- CATG - Concolic 单元测试引擎。使用形式化方法自动生成单元测试。
- Checker Framework - 可插入类型系统。包括空类型、物理单位、不变性类型等等。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- Daikon - 检测可能的程序不变量并根据这些不变量生成 JML 规范。
- Java Path Finder (JPF) - JVM 形式验证工具,包含模型检查器等。由美国宇航局创建。
- JMLOK 2.0 - 通过生成反馈导向的随机测试来检测代码和 JML 规范之间的不一致,并建议检测到的每个不符合项的可能原因。(仅限 GPL-3.0)
- KeY - 形式化软件开发工具,旨在尽可能无缝地集成面向对象软件的设计、实现、形式化规范和形式化验证。使用 JML 进行规范并使用符号执行进行验证。(GPL-2.0 或更高版本)
- OpenJML - 将 JML 规范转换为 SMT-LIB 格式,并将程序隐含的证明问题传递给后端求解器。(仅限 GPL-2.0)
促进函数式编程的库。
- Cyclops - Monad 和流实用程序、理解、模式匹配、所有 JDK 集合的功能扩展、未来流、蹦床等等。
- derive4j - 用于派生代数数据类型构造函数、模式匹配和态射的 Java 8 注释处理器和框架。(仅限 GPL-3.0)
- Fugue - Guava 的功能扩展。
- Function Java - 实现许多基本和高级编程抽象,以帮助面向组合的开发。
- jOOλ - Java 8 的扩展,旨在通过提供大量缺失的类型和一组丰富的顺序 Stream API 添加来修复 lambda 中的空白。
- protonpack - 流实用程序的集合。
- StreamEx - 增强 Java 8 流。
- Vavr - 提供持久数据类型和功能控制结构的功能组件库。
支持游戏开发的框架。
- FXGL - JavaFX 游戏开发框架。
- JBox2D - 著名的 C++ 2D 物理引擎的端口。
- jMonkeyEngine - 用于现代 3D 开发的游戏引擎。
- libGDX - 全方位跨平台、高级框架。
- Litiengine - 基于 AWT 的轻量级 2D 游戏引擎。
- LWJGL - 强大的框架,抽象 OpenGL/CL/AL 等库。
- Mini2Dx - 适合初学者、精通的框架,用于快速原型设计和构建 2D 游戏。
- Void2D - 基于 Swing 的具有内置物理功能的高级 2D 游戏引擎。
用于处理地理空间数据和算法的库。
- Apache SIS - 用于开发地理空间应用程序的库。
- ArcGIS Maps SDK for Java
- 用于向桌面应用程序添加地图和 GIS 功能的 JavaFX 库。
- Geo - Java 中的 GeoHash 实用程序.
- GeoTools - 提供地理空间数据工具的库。(仅限 LGPL-2.1)
- GraphHopper - 道路路由引擎。用作 Java 库或独立的 Web 服务。
- H2GIS - H2 数据库的空间扩展。(仅限 LGPL-3.0)
- Jgeohash - 使用 GeoHash 算法的库。
- Mapsforge - 基于 OpenStreetMap 数据的地图渲染。(仅限 LGPL-3.0)
- Spatial4j - 通用空间/地理空间库。
创建现代图形用户界面的库。
- JavaFX - Swing 的继承者。
- Scene Builder - 用于 JavaFX 应用程序的可视化布局工具。
- SnapKit - 适用于桌面和 Web 的现代 Java UI 库。
- SWT - 图形小部件工具包。
关于高性能计算的一切,从集合到特定库。
- Agrona - 高性能应用程序中常见的数据结构和实用方法。
- Disruptor - 线程间消息传递库。
- Eclipse Collections - 受 Smalltalk 启发的集合框架.
- fastutil - 快速且紧凑的特定类型集合。
- HPPC - 原始集合。
- JCTools - JDK 目前缺少并发工具。
- Koloboke - 精心设计的 Java 集合框架的扩展,具有原始专业化等。
帮助创建 HTTP 请求和/或绑定响应的库。
- Apache HttpComponents - 专注于 HTTP 和相关协议的低级 Java 组件工具集。
- Async Http Client - 异步 HTTP 和 WebSocket 客户端库。
- Avaje Http Client - JDK 11 的 HttpClient 的包装器,在其他增强功能中添加了类似 Feign 的接口。
- Feign - HTTP 客户端绑定器,受到 Retrofit、JAXRS-2.0 和 WebSocket 的启发。
- Google HTTP Client - 可插入 HTTP 传输抽象,支持 java.net.HttpURLConnection、Apache HTTP Client、Android、Google App Engine、XML、Gson、Jackson 和 Protobuf。
- 甲醇- HTTP 客户端扩展库。
- 改造- 类型安全的 REST 客户端。
- Ribbon - 在云中经过实战测试的客户端 IPC 库。
- Riptide - Spring 的 RestTemplate 的客户端响应路由.
- unirest-java - 简化的轻量级 HTTP 客户端库。
处理超媒体类型序列化的库。
集成开发环境试图简化开发的多个方面。
- Eclipse - 建立了开源项目,支持大量插件和语言。
- IntelliJ IDEA
- 支持多种 JVM 语言,并为 Android 开发提供良好的选择。商业版针对企业部门。
- jGRASP - 创建用于提供与调试器结合使用的软件可视化,例如控制结构图、UML 类图和对象查看器。
- NetBeans - 提供多种 Java SE 和 EE 功能的集成,从数据库访问到 HTML5。
- SnapCode - 在浏览器中运行的现代 Java IDE,专注于教育。
- Visual Studio Code - 通过使用内部市场的扩展,通过简单、现代的工作流程为轻量级项目提供 Java 支持。
帮助创建、评估或操作图形图像的库。
- Imgscalr - 以纯 Java 2D 实现的简单、高效和硬件加速的图像缩放库。
- Tess4J - Tesseract OCR API 的 JNA 包装器。
- Thumbnailator - 高品质缩略图生成库。
- TwelveMonkeys - 扩展支持的图像文件格式数量的插件集合。
- ZXing - 多格式一维/二维条码图像处理库。
- image-comparison - 比较 2 个相同大小的图像并通过绘制矩形直观地显示差异的库。图像的某些部分可以从比较中排除。
有助于使 Java 自省和反射 API 更容易、更快速使用的库。
- ClassGraph -ClassGraph(以前称为 FastClasspathScanner)是一个超快、超轻量级、并行的类路径扫描器和模块扫描器,适用于 Java、Scala、Kotlin 和其他 JVM 语言。
- jOOR - jOOR 代表 jOOR 面向对象反射。它是 java.lang.reflect 包的简单包装器。
- Mirror - Mirror 的创建是为了解决一个简单的问题,通常名为 ReflectionUtil,它几乎适用于所有依赖反射来完成高级任务的项目。
- Objenesis - 允许动态实例化,无需默认构造函数,例如具有必需参数、副作用或抛出异常的构造函数。
- ReflectASM - ReflectASM 是一个非常小的 Java 库,它通过使用代码生成提供高性能反射。
- Reflections - Reflections 扫描您的类路径,索引元数据,允许您在运行时查询它,并可以保存和收集项目中许多模块的信息。
用于调度后台作业的库。
- JobRunr - 作业调度库,利用 lambda 进行即发即忘、延迟和重复作业。使用乐观锁定保证单个调度程序实例的执行。具有持久性、最小依赖性和可嵌入的特性。
- Quartz - 功能丰富的开源作业调度库,几乎可以集成到任何 Java 应用程序中。
- Sundial - 轻量级框架,用于简单地定义作业、定义触发器和启动调度程序。
- Wisp - 具有最小占用空间和简单 API 的简单库。
- db-scheduler - 持久且集群友好的调度程序。
- easy-batch - 使用简单的处理管道设置批处理作业。记录从数据源按顺序读取,在管道中处理并批量写入数据接收器。
- shedlock - 确保您的计划任务最多同时执行一次。如果一个任务正在一个节点上执行,它会获取一个锁,以防止从另一个节点或线程执行同一任务。
用于将 JSON 序列化到 Java 对象以及从 Java 对象反序列化 JSON 的库。
- Avaje Jsonb - 通过源代码生成和类似 Jackson 的注释进行无反射 Json 绑定.
- DSL-JSON - 具有高级编译时数据绑定的 JSON 库。
- Genson - 功能强大且易于使用的 Java 到 JSON 转换库。
- Gson - 将对象序列化为 JSON,反之亦然。即时使用时性能良好。
- HikariJSON - 高性能 JSON 解析器,比 Jackson 快 2 倍。
- jackson-modules-java8 - 用于 Java 8 数据类型和功能的 Jackson 模块集。
- Jackson-datatype-money - 开源 Jackson 模块,支持 JavaMoney 数据类型的 JSON 序列化和反序列化。
- Jackson - 与 GSON 类似,但如果您需要更频繁地实例化库,则可以提高性能。
- JSON-io - 将 Java 转换为 JSON。将 JSON 转换为 Java。漂亮的打印 JSON。Java JSON 序列化器。
- jsoniter - 快速灵活的库,具有迭代器和惰性解析 API。
- LoganSquare - 基于 Jackson 的流 API 的 JSON 解析和序列化库。优于 GSON 和 Jackson 的库。
- Moshi - 现代 JSON 库,不那么固执己见,并使用 List 和 Map 等内置类型。
- Yasson - 类和 JSON 文档之间的绑定层,类似于 JAXB。
- fastjson - 非常快的处理器,没有额外的依赖项和完整的数据绑定。
- Jolt - JSON 到 JSON 转换工具。
- JsonPath - 使用类似 XPATH 的语法从 JSON 中提取数据。
- JsonSurfer - 流式 JsonPath 处理器,专用于处理大型且复杂的 JSON 数据。
JVM/JDK 的当前实现。
- 采用 Open JDK - 社区驱动的 OpenJDK 构建,包括 HotSpot 和 OpenJ9。
- Avian - 具有 JIT、AOT 模式和 iOS 端口的 JVM。
- Corretto - Amazon 提供的免费、多平台、生产就绪的 OpenJDK 发行版。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- Dragonwell8 - OpenJDK 的下游版本,针对在线电子商务、金融、物流应用程序进行了优化。
- Graal - 多语言嵌入式 JVM。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- Liberica JDK - 由 OpenJDK 构建,经过彻底测试并通过了 JCK。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- OpenJ9 - 高性能、企业级、灵活许可、开放管理的跨平台 JVM,扩展和增强了 Eclipse OMR 和 OpenJDK 项目的运行时技术组件。
- Open JDK - 打开 JDK 社区主页。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- ParparVM - 适用于 iOS 的具有非阻塞并发 GC 的 VM. (仅限 GPL-2.0,带有 Classpath-exception-2.0)
- RedHat Open JDK - RedHat 的 OpenJDK 发行版。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- SAP Machine - SAP 的免费、经过严格测试和 JCK 验证的 OpenJDK 友好分支。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- Zulu - OpenJDK 为 Windows、Linux 和 macOS 构建。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- Microsoft JDK - OpenJDK 的 Microsoft 版本,免费、开源、新鲜制作!
记录应用程序行为的库。
- Apache Log4j 2 - 使用强大的插件和配置架构进行完全重写。
- Echopraxia - 围绕结构化日志记录、丰富上下文和条件日志记录设计的 API。有 Logback 和 Log4J2 实现,但 Echopraxia 的 API 完全无依赖性,这意味着它可以使用任何日志记录 API 来实现。
- Graylog - 适合扩展角色和权限管理的开源聚合器。(仅限 GPL-3.0)
- Kibana - 分析和可视化日志文件。有些功能需要付费。
- Logback - 强大的日志库,通过 Groovy 提供有趣的配置选项。
- Logbook - 用于 HTTP 请求和响应日志记录的可扩展开源库。
- Logstash - 用于管理日志文件的工具。
- p6spy - 启用所有 JDBC 事务的日志记录,无需更改代码。
- SLF4J - 抽象层/简单日志记录外观。
- tinylog - 具有静态记录器类的轻量级日志记录框架。
- OpenTracing Toolbox - 构建在 OpenTracing 之上并为现有仪器提供扩展和插件的库集合。
提供用于从数据中学习的特定统计算法的工具。
- Apache Flink - 快速、可靠、大规模数据处理引擎。
- Apache Mahout - 专注于协作过滤、聚类和分类的可扩展算法。
- DatumBox - 提供多种用于自然语言处理的算法和预训练模型。
- Deeplearning4j - 分布式多线程深度学习库。
- DJL - 与引擎无关的高级深度学习框架。
- H2O
- 用于大数据统计的分析引擎。
- 智能 java - 以编程方式与远程深度学习和语言模型无缝集成。
- JSAT - 支持多线程执行的预处理、分类、回归和聚类算法。(仅限 GPL-3.0)
- m2cgen - 用于将模型转换为本机代码的 CLI 工具。
- Neureka - 一个轻量级、独立于平台、OpenCL 加速的 nd 数组/张量库。
- 哦!算法- 数据科学、机器学习和科学计算所需的高性能数学、线性代数和优化。
- Oryx 2 - 用于构建实时、大规模机器学习应用程序的框架。包括用于协作过滤、分类、回归和聚类的端到端应用程序。
- Siddhi - 云原生流和复杂事件处理引擎。
- Smile - 统计机器智能和学习引擎提供了一组机器学习算法和可视化库。
- Tribuo - 提供用于分类、回归、聚类、模型开发的工具以及与其他库(例如 scikit-learn、pytorch 和 TensorFlow)的接口。
- Weka - 用于从预处理到可视化的数据挖掘任务的算法集合。(仅限 GPL-3.0)
帮助在客户端之间发送消息以确保协议独立性的工具。
- Aeron - 高效、可靠的单播和多播消息传输。
- Apache ActiveMQ - 实现 JMS 并将同步通信转换为异步通信的消息代理。
- Apache Camel - 通过企业集成模式将不同的传输 API 粘合在一起。
- Apache Kafka - 高吞吐量分布式消息系统。
- Apache Pulsar - 分布式发布/订阅消息系统。
- Apache RocketMQ - 快速、可靠且可扩展的分布式消息传递平台。
- Apache Qpid - Apache Qpid 制作使用 AMQP 并支持多种语言和平台的消息传递工具。
- Deezpatch - 简单、轻量级且高性能的调度库,用于解耦消息(请求和事件)和消息处理程序。
- EventBus - 简单的发布/订阅事件总线。
- Hermes - 构建在 Kafka 之上的快速可靠的消息代理。
- JeroMQ - ZeroMQ 的实现。
- Nakadi - 在 Kafka 之上提供 RESTful API。
- RabbitMQ Java 客户端- RabbitMQ 客户端。
- Smack - 跨平台 XMPP 客户端库。
- NATS 客户端- NATS 客户端。
用于创建和管理微服务的工具。
- ActiveRPC - 用于复杂高负载分布式应用程序和类似 Memcached 的解决方案的轻量级快速库。
- Apollo - 用于编写可组合微服务的库。
- Armeria - 基于 Java 8、Netty、HTTP/2、Thrift 和 gRPC 构建的异步 RPC/REST 客户端/服务器库。
- consul-api - Consul API 的客户端:分布式、高度可用且数据中心感知的注册/发现服务。
- Eureka - 基于 REST 的服务注册表,用于弹性负载平衡和故障转移。
- Helidon - 编写微服务的两种风格的方法:功能反应式和作为 MicroProfile 的实现。
- JDA - Discord REST API 及其 WebSocket 事件的包装。
- KeenType - 新排版系统的基于 Java 实现的现代化版本,很大程度上基于 Donald E. Knuth 的原始 TeX。
- kubernetes-client - 客户端通过流畅的 DSL 提供对完整 Kubernetes 和 OpenShift REST API 的访问。
- Micronaut - 现代全栈框架,专注于模块化、最小内存占用和启动时间。
- Nacos - 用于构建云原生应用程序的动态服务发现、配置和服务管理平台。
- OpenAI-Java - 用于使用 OpenAI 的 GPT-3 API 的 Java 库。
- Quarkus - 专为 HotSpot 和 Graal VM 定制的 Kubernetes 堆栈。
- Sentinel - 流量控制组件,可实现微服务的可靠性、弹性和监控。
其他一切。
- AWS SDK for Java 2.0 - AWS API 的包装器。
- CQEngine - 对 Java 集合进行超快速、类似 SQL 的查询。
- 设计模式- 最常见设计模式的实现和解释。
- FF4J - Java 的功能标志。
- FizzBuzz Enterprise Edition - 由严肃的商人出于严肃的商业目的而进行的 FizzBuzz 的严肃实现。(无明确许可)
- J2ObjC - Java 到 Objective-C 的转换器,用于将 Android 库移植到 iOS。
- JBake - 静态网站生成器。
- JBot - 用于构建聊天机器人的框架。(仅 CEB7 GPL-3.0)
- JCuda -JCuda 为 CUDA 和 CUDA 相关库提供 Java 绑定.
- Jimfs - 内存文件系统。
- JObfuscator
- 源代码混淆器。
- Joda-Money - JDK 未提供的基本货币和货币类和算法。
- jOOX - org.w3c.dom 包的简单包装器,允许使用受 jQuery 启发的 API 进行流畅的 XML 文档创建和操作。
- JPad - 片段运行器。
- jsweet - TypeScript/JavaScript 的源代码转换器。
- Maven Wrapper - Maven 的 Gradle Wrapper 的类似物,允许在不安装 Maven 的情况下构建项目.
- Membrane Service Proxy - 开源反向代理框架。
- MinimalFTP - 轻量级、小型且可定制的 FTP 服务器。
- LittleProxy - Netty 基于事件的网络库之上的高性能 HTTP 代理。
- Modern Java - Java 8 指南- 流行的 Java 8 指南。
- Modernizer - 检测旧版 Java API 的使用。
- OctoLinker - 浏览器扩展,允许更有效地浏览 GitHub 上的代码。
- OpenRefine - 用于处理混乱数据的工具:清理、转换、使用 Web 服务扩展数据并将其链接到数据库。
- PipelinR - 用于在管道中使用处理程序和命令的小型实用程序库。
- Polyglot for Maven - Maven 3.3.1+ 的扩展,允许使用 XML 以外的方言编写 POM 模型。
- RR4J - RR4J 是一个记录 java 字节码执行情况并允许开发人员在本地重放的工具。
- Simple Java Mail - 使用干净流畅的 API 进行邮件发送。
- Smooks - 基于片段的消息处理框架。(Apache-2.0 或 LGPL-3.0 或更高版本)
- Svix - Svix API 的库,用于发送 webhooks 和验证签名。
- Togglz - 功能切换模式的实现。
- TypeTools - 用于解析泛型类型的工具。
- XMLBeam - 通过在代码中使用注释或 XPath 来处理 XML。
- yGuard - 通过重命名和缩小进行混淆。
用于创建或管理移动应用程序的工具。
- Codename One - 用于编写本机移动应用程序的跨平台解决方案。(仅限 GPL-2.0,带有 Classpath-exception-2.0)
- MobileUI - 用于使用 Java 和 Kotlin 中的本机 UI 开发移动应用程序的跨平台框架。
- 多操作系统引擎- 用于开发本机移动(iOS、Android 等)应用程序的开源跨平台引擎。
通过提供遥测来观察/监控生产中的应用程序的工具。
- Automon - 将 AOP 的功能与监控和/或日志记录工具相结合。
- Datadog
- 现代监控和分析。
- Dropwizard Metrics - 通过 JMX 或 HTTP 公开指标并将其发送到数据库。
- 故障安全执行器- Spring-Boot 环境中故障安全断路器的开箱即用监控。
- Glowroot - 开源 Java APM。
- HertzBeat - 具有自定义监视器和无代理的实时监控系统。
- hippo4j - 动态且可观察的线程池框架。
- spectIT - 通过可以动态更改的钩子捕获详细的运行时信息。它支持通过 OpenTracing API 在多个系统上进行跟踪,并且可以将数据与最终用户监控相关联。
- Instrumental
- 实时 Java 应用程序性能监控。具有免费开发帐户的商业服务。
- Jaeger 客户端- Jaeger 客户端。
- JavaMelody - 性能监控和分析。
- jmxtrans - 连接到多个 JVM 并通过 JMX 查询它们的属性。它的查询语言基于 JSON,允许非 Java 程序员访问 JVM 属性。支持不同的输出写入,包括 Graphite、Ganglia 和 StatsD。
- Jolokia - 基于 REST 的 JMX。
- Micrometer - 供应商中立的指标/可观察性外观,适用于最流行的指标/可观察性库。
- Micrometer Tracing - 供应商中立的分布式跟踪外观,适用于最流行的跟踪器库。
- nudge4j - 通过字节码注入从浏览器为 Java 8 提供远程开发人员控制台。
- Pinpoint - 开源 APM 工具。
- Prometheus - 提供多维数据模型、DSL、自治服务器节点等等。
- Sentry - 与
Sentry集成,Sentry 是一个应用程序错误跟踪和性能分析平台。
- SPM
- 具有 JVM 应用程序分布式事务跟踪的性能监视器。
- Stagemonitor - JVM 应用程序的开源性能监控和事务跟踪。
- Sysmon - 用于 Java VM 的轻量级平台监控工具。
- zipkin - 分布式跟踪系统,收集解决微服务架构中的延迟问题所需的计时数据。
用于使用特定于平台的本机库。
- Aparapi - 将字节码转换为 OpenCL,允许在 GPU 上执行。
- JavaCPP - 提供对本机 C++ 的高效且轻松的访问。
- JNA - 使用本机库而无需编写 JNI。还提供通用系统库的接口。
- JNR - 使用本机库而无需编写 JNI。还提供通用系统库的接口。与 JNA 目标相同,但速度更快,并作为即将推出的巴拿马项目的基础。
专门处理文本的库。
- CogCompNLP - 为纯文本输入提供通用注释器。(研究和学术使用许可)
- CoreNLP - 为标记、命名实体识别和情感分析等任务提供一组基本工具。(GPL-3.0 或更高版本)
- DKPro - 可重复使用的 NLP 工具集合,用于语言预处理、机器学习、词汇资源等。
- LingPipe - 用于从 POS 标记到情感分析等任务的工具包。
用于构建网络服务器的库。
- Commons-networking - 服务器发送事件(SSE)的客户端。
- Comsat - 将标准 Java Web 相关 API 与 Quasar 光纤和参与者集成。
- Dubbo - 高性能 RPC 框架。
- Grizzly - NIO 框架。用作 Glassfish 中的网络层。
- gRPC - 基于 protobuf 和 HTTP/2 的 RPC 框架。
- KryoNet - 使用 NIO 和 Kryo 提供干净、简单的 API,用于高效的 TCP 和 UDP 客户端/服务器网络通信。
- MINA - 抽象的、事件驱动的异步 I/O API,用于通过 Java NIO 通过 TCP/IP 和 UDP/IP 进行网络操作。
- Netty - 用于构建高性能网络应用程序的框架。
- Drift - 易于使用、基于注释的库,用于创建 Thrift 客户端和可序列化类型。
- ServiceTalk - 基于 Netty 构建的框架,具有针对特定协议定制的 API 并支持多种编程范例。
- sshj - 以编程方式使用 SSH、SCP 或 SFTP。
- TLS Channel - 通过 SSLEngine 实现 ByteChannel 接口,从而实现易于使用(类似套接字)的 TLS。
- Undertow - 基于 NIO 提供阻塞和非阻塞 API 的 Web 服务器。在 WildFly 中用作网络层。(仅限 LGPL-2.1)
- urnlib - 表示、解析和编码 URN,如 RFC 2141 中所示。(仅限 GPL-3.0)
- Fluency - Fluentd 和 Fluent Bit 的高吞吐量数据摄取记录器。
处理对象持久性的 API。
- Apache Cayenne - 提供干净、静态的数据访问 API。还包括一个 GUI 建模器,用于处理数据库映射、数据库逆向工程和生成。
- Doma - 数据库访问框架,使用注释处理以及称为双向 SQL 的本机 SQL 模板在编译时验证和生成源代码。
- Ebean - 提供简单快速的数据访问。
- EclipseLink - 支持多种持久性标准:JPA、JAXB、JCA 和 SDO。
- Hibernate - 强大且广泛使用,拥有活跃的社区。(仅限 LGPL-2.1)
- MyBatis - 将对象与存储过程或 SQL 语句结合起来。
- ObjectiveSql - ActiveRecord ORM 用于快速开发和约定优于配置。
- Permazen - 语言自然持久层。
- SimpleFlatMapper - 简单的数据库和 CSV 映射器。
Java 平台即服务。
- AWS Elastic Beanstalk
- 基于 AWS,支持 Tomcat 和 Jetty。
- AWS Lambda
- 无服务器计算。
- Google Cloud
- Google 的云基础设施。
- Heroku
- 抽象计算环境。
- Microsoft Azure
- 微软的云基础设施。
- OpenShift
- 另外提供本地解决方案。
帮助处理 PDF 文件的工具。
- Apache FOP - 从 XSL-FO 创建 PDF。
- Apache PDFBox - 用于创建和操作 PDF 的工具箱。
- Dynamic Jasper -JasperReports 的抽象层. (仅限 LGPL-3.0)
- DynamicReports - 简化 JasperReports。(仅限 LGPL-3.0)
- Eclipse BIRT - 使用基于 Eclipse 的可视化编辑器创建 PDF 和其他格式(DOCX、XLSX、HTML 等)的报告引擎。
- Flyingsaucer - XML/XHTML 和 CSS 2.1 渲染器。(LGPL-2.1 或更高版本)
- iText
- 以编程方式创建 PDF 文件。
- JasperReports - 复杂的报告引擎。(仅限 LGPL-3.0)
- 打开 HTML 到 PDF - 正确支持基于 Flyingsaucer 和 Apache PDFBox 的现代 PDF 标准。
- OpenPDF - 开源 iText 分支。(仅限 LGPL-3.0 和 MPL-2.0)
- Tabula - 从 PDF 文件中提取表格。
用于性能分析、分析和基准测试的工具。
- fastThread
- 使用基于云的免费上传界面分析和可视化线程转储。
- GCeasy
- 分析和可视化 GC 日志的工具。它提供了一个免费的基于云的上传接口。
- 诚实分析器- 低开销、无偏差的采样分析器。
- jHiccup - 记录和记录平台 JVM 停顿。
- JITWatch - 分析 HotSpot JVM 进行的 JIT 编译器优化。
- JMH - 用于构建、运行和分析以 Java 和其他针对 JVM 的语言编写的纳/微米/毫/宏观基准测试的工具。(GPL-2.0 仅适用于 Classpath-exception-2.0)
- LatencyUtils - 用于延迟测量和报告的实用程序。
框架是包含多个类别的多个库的套件。
- BCEL - 字节代码工程库 - 分析、创建和操作 Java 类文件。
- BeanUtils - Java 反射和内省 API 的易于使用的包装器。
- BeanUtils2 - 重新设计 Commons BeanUtils.
- BSF - Bean 脚本框架 - 脚本语言的接口,包括 JSR-223。
- 链- 责任链模式的实现。
- ClassScan - 无需加载即可查找类接口、方法、字段和注释。
- CLI - 命令行参数解析器。
- CLI2 - 重新设计 Commons CLI。
- 编解码器- 通用编码/解码算法,例如语音、base64 或 URL。
- 集合- 扩展或增强 Java 集合框架。
- 压缩- 定义用于处理 tar、zip 和 bzip2 文件的 API。
- 配置- 读取各种格式的配置/首选项文件。
- Convert - Commons-Convert 旨在提供一个专用于将一种类型的对象转换为另一种类型的任务的单一库。
- CSV - 用于读取和写入逗号分隔值文件的组件。
- Daemon - 类似 unix-daemon 的 java 代码的替代调用机制。
- DBCP - 数据库连接池服务。
- DbUtils - JDBC 帮助程序库。
- Digester - XML 到 Java 对象的映射实用程序。
- Email - 用于从 Java 发送电子邮件的库。
- Exec - Java 中用于处理外部进程执行和环境管理的 API。
- FileUpload - servlet 和 Web 应用程序的文件上传功能。
- Finder - 受 UNIX find 命令启发的 Java 库。
- Flatfile - 用于处理平面数据结构的 Java 库。
- Functor - 可以作为对象进行操作的函数,或者表示单个通用函数的对象。
- Graph - 通用图形 API 和算法。
- I18n - 添加本地化消息包的功能,该消息包由一个或多个属于在一起的本地化文本组成。
- Id - Id 是用于生成标识符的组件。
- 成像- 图像库。
- IO - I/O 实用程序的集合。
- Javaflow - 捕获应用程序状态的连续实现。
- JCI - Java 编译器接口。
- JCS ——Java 缓存系统。
- Jelly - 基于 XML 的脚本和处理引擎。
- Jexl - 扩展了 JSTL 表达式语言的表达式语言。
- JNet - JNet 允许通过 java.net API 动态使用注册 url 流处理程序。
- JXPath - 使用 XPath 语法操作 Java Bean 的实用程序。
- Lang - 为 java.lang 中的类提供额外的功能。
- 日志记录- 各种日志记录 API 实现的包装。
- 数学- 轻量级、独立的数学和统计组件。
- 监控- 监控旨在为 Java 应用程序提供简单但可扩展的监控解决方案。
- Nabla - Nabla 提供自动微分类,可以生成用 Java 语言实现的任何函数的导数。
- Net - 网络实用程序和协议实现的集合。
- OGNL - 对象图导航语言。
- OpenPGP - 使用 OpenPGP 签名和验证数据的接口。
- 性能- 用于微基准测试客户端的小型框架,具有 Commons DBCP 和 Pool 的实现。
- 管道- 提供一组围绕工作队列设计的管道实用程序,这些实用程序并行运行以顺序处理数据对象。
- Pool - 通用对象池组件。
- Proxy - 用于创建动态代理的库。
- RDF - RDF 1.1 的常见实现,可以由 JVM 上的系统实现。
- RNG - Commons Rng 提供伪随机数生成器的实现。
- SCXML - 状态图 XML 规范的实现,旨在创建和维护 Java SCXML 引擎。
- Validator - 在 xml 文件中定义验证器和验证规则的框架。
- VFS - 虚拟文件系统组件,用于将文件、FTP、SMB、ZIP 等视为单个逻辑文件系统。
- Weaver - 提供一种简单的方法来增强(编织)编译的字节码。
- CUBA 平台- 用于开发具有丰富 Web 界面的企业应用程序的高级框架,基于 Spring、EclipseLink 和 Vaadin。
- Light-4J - 具有内置安全性的快速、轻量级和高效的微服务框架。
- Orienteer - 开源业务应用程序平台,用于快速配置/开发 CRM、ERP、LMS 和其他应用程序。
- Spring - 提供了许多用于依赖注入、面向方面编程、安全性等的包。
帮助管理操作系统进程的库。
- ch.vorburger.exec - 围绕 Apache Commons Exec 的便捷 API.
- zt-exec - 为 Apache Commons Exec 和 ProcessBuilder 提供统一的 API。
- zt-process-killer - 停止从 Java 启动的进程或通过 PID 的系统进程。
用于开发反应式应用程序的库。
- Akka - 用于构建并发、分布式、容错和事件驱动应用程序的工具包和运行时。
- 反应式流- 提供具有非阻塞背压的异步流处理标准。
- Reactor - 用于构建反应式快速数据应用程序的库。
- RxJava - 允许使用可观察序列编写异步和基于事件的程序。
- vert.x - 多语言事件驱动的应用程序框架。
专门用于创建 RESTful 服务的框架。
- Dropwizard - 使用 Jetty、Jackson、Jersey 和 Metrics 设置现代 Web 应用程序的框架。
- Elide - 基于 JPA 数据模型的 JSON 或 GraphQL-API 的自有框架。
- Jersey - JAX-RS 参考实现。
- Microserver - 适用于 Spring 和 Spring Boot 的方便、可扩展的微服务插件系统。它拥有 30 多个插件并且还在不断增加,支持微单体和纯微服务风格。
- Rapidoid - 简单、安全且极其快速的框架,由嵌入式 HTTP 服务器、GUI 组件和依赖项注入组成。
- rest.li - 使用类型安全绑定和异步、非阻塞 IO 以及端到端开发人员工作流程构建健壮、可扩展的 RESTful 架构的框架,可促进清洁实践、统一的接口设计和一致的数据建模。
- RESTEasy - JAX-RS 规范的完全认证和可移植实现。
- RestExpress - JBoss Netty HTTP 堆栈上的瘦包装器,提供扩展和性能。
- Restlet Framework - 具有强大路由和过滤功能的开创性框架,以及统一的客户端和服务器 API。
- Spark - Sinatra 启发的框架。
- Crnk - 实施 JSON API 规范,以构建面向资源的 REST 端点,包括排序、过滤、分页、链接、对象图、类型安全、批量更新、集成等。
- springdoc-openapi - 使用 Spring Boot 项目自动生成 API 文档。
- Swagger - 与语言无关的标准 REST API 接口。
用于科学计算、分析和可视化的库。
- BioJava - 通过提供生物信息学中常用的算法、文件格式解析器、测序和 3D 可视化来促进生物数据的处理。
- Chart-FX - 科学图表库,重点关注大型数据集以 25 Hz 更新率进行性能优化的实时数据可视化。
- DataMelt - 科学计算、数据分析和数据可视化的环境。(GPL-3.0 或更高版本)
- Erdos - 用于理论算法的模块化、轻量级和简单的图形框架。
- GraphStream - 用于建模和分析动态图的库。
- JFreeChart - 用于 Swing、JavaFX 和服务器端应用程序的 2D 图表库。(仅限 LGPL-2.1)
- JGraphT - 提供数学图论对象和算法的图库。
- JGraphX - 用于可视化(主要是 Swing)并与节点边缘图交互的库。
- LogicNG - 用于创建、操作和求解布尔和伪布尔公式的库。
- Mines Java Toolkit - 用于地球物理科学计算、可视化和数字信号分析的库。
- Morpheus - 提供一种称为 DataFrame 的多功能二维内存高效表格数据结构,可为 JVM 上的科学计算提供高效的内存分析。
- Orekit - 一个低级太空飞行动力学库,提供基本元素(轨道、日期、姿态、框架...)和各种算法(转换、传播、指向...)来处理它们。
- Orson-Charts - 生成各种 3D 图表,可以使用 Swing 和 JavaFX 显示或导出为 PDF、SVG、PNG 和 JPEG。(仅限 GPL-3.0)
- Tablesaw - 包括数据框、嵌入式列存储以及数百种转换、汇总或过滤数据的方法。
- XChart - 用于绘制数据的轻量级库。有许多可定制的图表类型可用。
索引文档以进行搜索和分析的引擎。
- Apache Lucene - 高性能、全功能、跨平台的文本搜索引擎库。
- A 3D11 pache Solr - 针对大流量优化的企业搜索引擎。
- Elasticsearch - 分布式、支持多租户的全文搜索引擎,具有 RESTful Web 界面和无模式 JSON 文档。
- Indexer4j - 简单、轻便的全文索引和搜索库。
处理安全、身份验证、授权或会话管理的库。
- Apache Shiro - 执行身份验证、授权、加密和会话管理。
- Bouncy Castle - 通用加密库和 JCA 提供程序,提供广泛的功能,从基本帮助程序到 PGP/SMIME 操作。
- DependencyCheck - 检测项目依赖项中包含的公开披露的漏洞。
- Cryptomator - 云中文件的多平台、透明、客户端加密。(仅限 GPL-3.0)
- Hdiv - 运行时应用程序,可消除 OWASP Top 10 中的应用程序安全风险,包括 SQL 注入、跨站点脚本、跨站点请求伪造、数据篡改和暴力攻击。
- jjwt - 适用于 Java 和 Android 的 JSON Web 令牌。
- jwt-java - 使用流畅的 API 轻松创建和解析 JSON Web 令牌并创建自定义的 JWT 验证器。
- Jwks RSA - JSON Web 密钥集解析器。
- Kalium - 网络和密码学 (NaCl) 库的绑定。
- Keycloak - 用于浏览器应用程序和 RESTful Web 服务的集成 SSO 和 IDM。
- Keywhiz - 用于分发和管理秘密的系统。
- Nbvcxz - 高级密码强度估计。
- OACC - 提供基于权限的授权服务。
- OpenAM - 访问管理解决方案,包括身份验证、SSO、授权、联合、权利和 Web 服务安全。
- OTP-Java - 根据 RFC 4226 (HOTP) 和 RFC 6238 (TOTP) 的一次性密码生成器库。
- pac4j - 安全引擎。
- Passay - 通过根据可配置的规则集验证候选密码来实施密码策略。
- Password4j - 用户友好的加密库,支持 Argon2、Bcrypt、Scrypt、PBKDF2 和各种其他加密哈希函数。
- SecurityBuilder - 适用于 JCA 和 JSSE 类,尤其是 X.509 证书的 Fluent Builder API。
- SSLContext-Kickstart - 用于使用 SSL/TLS 配置 HTTP 客户端的高级 SSL 上下文构建器。
- Themis - 多平台高级加密库提供易于使用的加密来保护敏感数据:前向保密的安全消息传递、安全数据存储 (AES256GCM);适合构建端到端加密应用程序。
- Tink - 为常见的加密任务提供简单且防误用的 API。
- Topaz - 支持 RBAC、ABAC 和 ReBAC 的应用程序细粒度授权。
高效处理序列化的库。
- FlatBuffers - 内存高效的序列化库,可以访问序列化数据而无需解包和解析它。
- FST - JDK 兼容的高性能对象图序列化。
- Fury - 由 JIT 和零拷贝支持的极快的对象图序列化框架。
- Kryo - 快速高效的对象图序列化框架。
- MessagePack - 高效的二进制序列化格式。
- PHP Serializer - 以 PHP 序列化格式序列化对象。
专门用于部署应用程序的服务器。
- Apache Tomcat - 用于 Servlet 和 JSP 的强大、全能服务器。
- Apache TomEE - Tomcat 加 Java EE。
- Jetty - 提供 Web 服务器和 javax.servlet 容器,并支持 HTTP/2、WebSocket、OSGi、JMX、JNDI、JAAS 和许多其他集成。
- nanohttpd - 微型、易于嵌入的 HTTP 服务器。
- WildFly - 以前称为 JBoss,由 Red Hat 开发,具有广泛的 Java EE 支持。(仅限 LGPL-2.1)
替换模板中的表达式的工具。
- Freemarker - 基于模板和更改数据生成文本输出(HTML 网页、电子邮件、配置文件、源代码等)的库。
- Handlebars.java - 无逻辑和语义的 Mustache 模板。
- Jade4J - Pug(以前称为 Jade)的实现。
- Jamal - 嵌入到 Maven/JavaDoc 中的可扩展模板引擎,支持多种扩展(Groovy、Ruby、JavaScript、JShell、PlantUml)并支持片段处理。
- jstachio - Typesafe Mustache 模板引擎。
- jte - 编译为类,并使用简单的语法和多种功能,使开发更容易,并提供快速执行和较小的占用空间。
- Jtwig - 模块化、可配置且经过充分测试的模板引擎。
- Pebble - 受到 Twig 的启发,以其继承功能和易于阅读的语法而与众不同。它带有内置的自动转义功能以确保安全,并且包括对国际化的集成支持。
- Rocker - 优化、内存高效且快速的模板引擎,可生成静态类型的普通对象。
- StringTemplate - 用于生成源代码、网页、电子邮件或任何其他格式化文本输出的模板引擎。
- Thymeleaf - 旨在替代 JSP,适用于 XML 文件。
从模型到视图进行测试的工具。
简化异步服务测试的工具。
- Awaitility - 用于同步异步操作的 DSL。
- ConcurrentUnit - 用于测试多线程和异步应用程序的工具包。
- GreenMail - 用于集成测试的内存电子邮件服务器。支持 SMTP、POP3 和 IMAP(包括 SSL)。(仅限 GPL-2.0)
- Hoverfly Java - Hoverfly 的本机绑定,它是一个允许您模拟 HTTP 服务的代理。
- Karate - 结合了 API 测试自动化、模拟和性能测试的 DSL,使测试 REST/HTTP 服务变得容易。
- REST Assured - 用于轻松测试 REST/HTTP 服务的 DSL。
- WebTau - 使用一致的匹配器和概念集跨 REST-API、Graph QL、浏览器、数据库、CLI 和业务逻辑进行测试。
软件开发过程的测试源自 TDD,并深受 DDD 和 OOAD 的影响。
- Cucumber - 提供一种以客户可以理解的简单语言描述功能的方法。
- Cukes-REST - 使用 Cucumber 进行 REST 服务测试的 Gherkin 步骤 F871 集合.
- J8Spec - 遵循类似 Jasmine 的语法。
- JBehave - 描述故事的可广泛配置的框架。
- JGiven - 提供流畅的 API,允许更简单的组合。
- Lamdba Behave - 旨在提供一个流畅的 API,用读起来像简单英语的长描述性句子编写测试。
- Serenity BDD - 自动验收测试和报告库,可与 Cucumber、JBehave 和 JUnit 配合使用,使编写高质量的可执行规范变得更加容易。
与随机数据的创建和处理相关的一切。
- Beanmother - 从 YAML 装置设置 bean。
- Datafaker - 从 Java Faker 分叉的现代假数据生成器。
- Fixture Factory - 从模板生成假对象。
- jFairy - 假数据生成器。
- Instancio - 通过生成完全填充的、可重现的对象来自动化单元测试中的数据设置。包括 JUnit 5 扩展。
- 随机测试- JUnit 测试运行程序和插件,用于以伪随机性运行 JUnit 测试。
- Java Faker - Ruby 假数据生成器的端口。
- Mockneat - 另一个假数据生成器。
提供针对特定用例运行测试的环境。
- ArchUnit - 用于指定和断言架构规则的测试库。
- Apache JMeter - 功能测试和性能测量。
- Arquillian - Java EE 容器的集成和功能测试平台。
- Citrus - 专注于客户端和服务器端消息传递的集成测试框架。
- Ga特林- 负载测试工具,旨在易于使用、可维护性和高性能。
- JUnit - 通用测试框架。
- jqwik - 基于 JUnit 5 构建的基于属性的测试引擎。
- Pact JVM - 消费者驱动的合约测试。
- PIT - 快速突变测试框架,用于评估现有 JUnit 或 TestNG 测试套件的故障检测能力。
提供自定义匹配器的库。
- AssertJ - 提高可读性的流畅断言。
- Hamcrest - 可以组合起来创建灵活的意图表达的匹配器。
- JSONAssert - 简化 JSON 字符串的测试。
- JsonUnit - 简化测试中 JSON 比较的库。
- Truth - Google 流畅的断言和命题框架。
- XMLUnit - 简化 XML 输出的测试。
其他与测试相关的内容。
- ConsoleCaptor - 捕获控制台输出以进行单元测试。
- junit-dataprovider - JUnit 的类似于 TestNG 的数据提供程序/运行程序。
- LogCaptor - 捕获日志条目以进行单元测试。
- log-capture - 捕获日志条目并为单元和集成测试提供断言。
- 可变性检测器- 报告给定类的实例是否不可变。
- raml-tester - 测试请求/响应是否与给定的 RAML 定义匹配。
- TestContainers - 提供通用数据库、Selenium Web 浏览器或可以在 Docker 容器中运行的任何其他内容的一次性实例。
- pojo-tester - 自动对基本 POJO 方法执行测试。(仅限 LGPL-3.0)
模拟协作者以帮助测试单个隔离单元的工具。
- JMockit - 集成测试、API 模拟和伪造以及代码覆盖率。
- Mockito - 模拟框架,可让您使用干净简单的 API 编写测试。
- MockServer - 允许模拟与 HTTPS 集成的系统。
- Moco - 用于存根和模拟的简洁 Web 服务。
- PowerMock - 模拟静态方法、构造函数、最终类和方法、私有方法以及静态初始值设定项的删除。
- WireMock - 存根和模拟 Web 服务。
- EasyMock - EasyMock 是一个 Java 库,它提供了一种在单元测试中使用 Mock 对象的简单方法。
提供通用实用功能的库。
- Arthas - 允许在不修改代码或重新启动服务器的情况下解决应用程序的生产问题。
- Bucket4j - 基于令牌桶算法的速率限制库。
- cactoos - 面向对象原语的集合。
- Chocotea - 从 java 代码生成邮递员集合、环境和集成测试。
- CRaSH - 为运行 CRaSH 的 JVM 提供 shell。由 Spring Boot 和其他人使用。(LGPL-2.1 或更高版本)
- Dex - Java/JavaFX 工具,具有强大的 ETL 和数据可视化功能。
- dregex - 使用确定性有限自动机的正则表达式引擎。它支持一些 Perl 风格的功能,但保留了线性匹配时间,并且还提供集合操作。
- Embulk - 批量数据加载器,有助于在各种数据库、存储、文件格式和云服务之间传输数据。
- fswatch - 用于监视目录文件系统更改的微型库,简化了 java.nio.file.WatchService。
- Gephi - 用于可视化和操作大型图形网络的跨平台。(仅限 GPL-3.0)
- Guava - 集合、缓存、原语支持、并发库、通用注释、字符串处理、I/O 等。
- JADE - 用于构建和调试多代理系统的框架和环境。(仅限 LGPL-2.0)
- Java Diff Utils - 用于文本或数据比较和修补的实用程序。
- JavaVerbalExpressions - 帮助构建困难的正则表达式的库。
- JGit - 实现 Git 版本控制系统的轻量级纯 Java 库。
- minio-java - 提供简单的 API 来访问任何与 Amazon S3 兼容的对象存储服务器。
- Protégé - 提供本体编辑器和构建基于知识的系统的框架。
- Semver4j - 轻量级库,可帮助您处理不同模式的语义版本控制。
- Underscore-java - Underscore.js 函数的端口。
帮助创建开发 shell 环境并在不同 Java 版本之间切换的实用程序。
- jabba - 受 nvm 启发的 Java 版本管理器. 支持 macOS、Linux 和 Windows。
- jenv - 受 rbenv 启发的 Java 版本管理器. 可以全局配置或按项目配置。在 Debian 和 macOS 上测试。
- SDKMan - 受 RVM 和 rbenv 启发的 Java 版本管理器。支持基于 UNIX 的平台和 Windows。
分析网站内容的图书馆。
- Apache Nutch - 适用于生产环境的高度可扩展、高度可伸缩的网络爬虫。
- Crawler4j - 简单且轻量级的网络爬虫。
- jsoup - 抓取、解析、操作和清理 HTML。
- StormCrawler - 用于构建低延迟且可扩展的网络爬虫的 SDK。
- webmagic - 可扩展的爬虫,具有下载、url 管理、内容提取和持久性。
处理 Web 应用程序各层之间通信的框架。
- ActiveJ - 从头开始构建的轻量级异步框架,用于开发高性能 Web 应用程序。
- Apache Tapestry - 面向组件的框架,用于创建动态、健壮、高度可扩展的 Web 应用程序。
- Apache Wicket - 类似于 Tapestry 的基于组件的 Web 应用程序框架,具有状态 GUI。
- Blade - 轻量级、模块化框架,旨在优雅和简单。
- Bootique - 可运行应用程序的最小固执己见的框架。
- Firefly - 用于快速开发高性能 Web 应用程序的异步框架。
- Javalin - 用于 Web 应用程序的微框架。
- Jooby - 可扩展、快速和模块化的微框架,提供多种编程模型。
- Ninja - 全栈 Web 框架。
- Pippo - 小型、高度模块化、类似 Sinatra 的框架。
- Play - 基于 Akka 构建,它为 Java 和 Scala 中的高度可扩展应用程序提供可预测且最小的资源消耗(CPU、内存、线程)。
- PrimeFaces - 具有免费和商业/支持版本以及前端组件的 JSF 框架。
- Ratpack - 一组库,可促进快速、高效、可演进且经过良好测试的 HTTP 应用程序。
- Takes - 围绕真正的面向对象编程和不变性概念构建的固执己见的 Web 框架。
- Vaadin - 使用标准 Web 组件的事件驱动框架。服务器端架构,客户端采用 Ajax。
与 Java 和 JVM 生态系统相关的精彩列表。
- 很棒的注释处理
- 很棒的格拉尔
- 很棒的 Gradle 插件
- 很棒的JavaFX
- 很棒的 JVM
- 很棒的微服务
- 很棒的休息
- 很棒的硒
- 查安德
- 有用的 Java 链接
- Java 并发检查表
- Java 开发者路线图
积极讨论。
- r/java - Java 社区的 Reddit 子版块。
- Stack Overflow - 问答平台。
提供此列表前端的网站。请注意,不会有官方网站。我们不与特定网站关联,每个人都可以创建一个网站。
产生了巨大影响并且仍然值得一读的书籍。
编程时可以看或听的东西。
- 140 Second Ducklings - Twitter 上的短视频深入解释 Java 调试。
- 一个丰富的播客
- 富杰播客
- Java 内部(官方)
- Java 堆外
- Java Posse - 自 2015 年 2 月起停产。
要关注的活跃帐户。来自 Twitter 的描述。
- Adam Bien - 自由作者、JavaOne Rockstar 演讲者、顾问、Java Champion。
- Aleksey Shipilëv - 性能极客、基准测试沙皇、并发错误猎人。
- Antonio Goncalves - Java 冠军、JUG 领导者、Devoxx 法国、Java EE 6/7、JCP、作者。
- Arun Gupta - Java Champion、JavaOne Rockstar、JUG Leader、Devoxx4Kids-er、Couchbase 开发人员宣传副总裁。
- Brian Goetz - Oracle 的 Java 语言架构师。
- Bruno Borges - Oracle 产品经理/Java 运动员。
- Chris Engelbert - TimescaleDB 的开源爱好者、演讲者、开发人员、开发人员倡导者。
- Chris Richardson - 软件架构师、顾问和连续创业者、Java Champion、JavaOne Rock Star、*POJOs in Action- 作者。
- Ed Burns - Oracle 技术人员顾问成员。
- Eugen Paraschiv - Spring 安全课程的作者。
- Heinz Kabutz - Java Champion、演讲者、The Java Specialists' Newsletter 的作者、并发性能专家。
- Holly Cummins - IBM 伦敦 Bluemix Garage 的技术主管、Java Champion、开发人员、作者、JavaOne 明星。
- James Weaver - Java/JavaFX/IoT 开发人员、作者和演讲者。
- Java EE - Java EE 官方 Twitter 帐户。
- Java 杂志- Java 杂志官方帐户。
- Java - 官方 Java Twitter 帐户。
- Javin Paul - 著名的 Java 博主。
- Josh Long - Pivotal 的 Spring 倡导者,O'Reilly 的 Cloud Native Java 和 Building Microservices with Spring Boot、JavaOne Rock Star 的作者。
- Lukas Eder - Java 冠军、演讲者、Data Geekery (jOOQ) 创始人兼首席执行官。
- Mani Sarkar - Java 冠军、通晓多种语言、参与 @graalvm、AI/ML/DL、数据科学、开发者社区、演讲者和博主的软件工匠。像这样的几个很棒的列表的创建者。
- Mario Fusco - RedHatter、JUG 协调员、经常演讲者和作家。
- Mark Heckler - Pivotal 首席技术专家和开发者倡导者、会议发言人、出版作家和 Java 冠军,专注于物联网和云。
- Mark Reinhold - Oracle Java 平台组首席架构师。
- Markus Eisele - Java EE 布道者,红帽。
- Martijn Verburg - 伦敦 JUG 联合领导者、演讲者、作家、Java Champion 等等。
- 马丁·汤普森- 帕斯蒂面对表演黑帮。
- Monica Beckwith - 性能顾问,JavaOne Rock Star。
- OpenJDK - 官方 OpenJDK 帐户。
- Peter Lawrey - Peter Lawrey,Java 性能专家。
- Randy Shoup - Stitch Fix 工程副总裁、演讲者、JavaOne Rock Star。
- Reza Rahman - Java EE/GlassFish/WebLogic 布道者、作家、演讲者、开源黑客。
- Sander Mak - Java Champion,作者。
- Simon Maple - Java Champion、VirtualJUG 创始人、LJC 领导者、RebelLabs 作者。
- Spencer Gibb - 软件工程师、爸爸、极客、Spring Cloud Core @pivotal 的联合创始人和负责人。
- Stephen Colebourne - Java 冠军、演讲者。
- Trisha Gee - Java 冠军和演讲者。
- Venkat Subramaniam - 作者、休斯顿大学教授、Microsoft MVP 奖获得者、JavaOne 摇滚明星、Java 冠军。
- Vlad Mihalcea - 从事 Hypersistence Optimizer 工作的 Java Champion,数据库爱好者,《High-Performance Java Persistence》一书的作者。
- 开创者- Oracle ACE、开创者大使和 Java 冠军。
可供阅读的网站。
- 拜尔东
- 迪区
- foojay.io
- 谷歌Java风格
- 信息Q
- Java 算法和客户端
- Java、SQL 和 jOOQ
- Java.net
- 爪哇大厅
- Java世界
- JAX输入法
- 反叛实验室
- OverOps 博客
- TheServerSide.com
- 香草爪哇
- 沃克塞德
- 爪哇周刊
非常欢迎您的贡献!