新手上路
5小时前
主楼
架构
帮助实现和验证设计和架构概念的框架和库。- ArchUnit - 用于指定和断言架构规则的测试库。
- jMolecules - 用于在代码中表达设计和架构概念的注解和接口。
人工智能
帮助您利用 LLMs 和 AI 的框架- LangChain4j - 简化 LLMs 的集成,提供统一的 API 和全面的工具箱。
- MCP Java SDK - 使应用程序能够通过标准接口(即模型上下文协议)与 AI 模型和工具交互,支持同步和异步通信模式。
- simple-openai - 最简单方式使用 OpenAI API(及兼容的 API)的库。
- Spring AI - 用于 Spring 的 AI 工程应用框架。
Bean 映射
简化框架,简化 Bean 映射。- dOOv - 提供用于类型安全的领域模型验证和映射的流畅 API。它使用注解、代码生成和类型安全的 DSL,使 Bean 验证和映射变得快速且简单。
- JMapper - 使用字节码操作实现闪电般的映射。支持注解和 API 或 XML 配置。
- MapStruct - 基于约定优于配置的方法简化不同 Bean 类型之间的映射的代码生成器。
- ModelMapper - 一款智能对象映射库,可自动将对象映射到彼此。
- Orika - JavaBean 映射框架,可递归地将(以及其他功能)数据从一个对象复制到另一个对象。
- reMap - 基于 Lambda 和方法句柄的映射,如果对象名称不同,则不需要代码和注解。
- Selma - 基于注解处理器的 Bean 映射器。
构建
处理应用程序的构建周期和依赖关系的工具。- Apache Maven - 基于约定的声明式构建和依赖管理,优于配置。与使用较为过程化方法的 Apache Ant 相比,它可能更易于维护。
- Bazel - 来自 Google 的工具,能够快速可靠地构建代码。
- Buck2 - 鼓励创建由代码和资源组成的、小型可重用模块。
- Gradle - 通过 Groovy 编程实现增量构建,而不是声明 XML。与 Maven 的依赖管理配合良好。
字节码操作
Libraries to manipulate bytecode programmatically.- ASM - 通用型、低级字节码操作和分析。
- Byte Buddy - 通过一种流畅的 API 进一步简化字节码生成。
- bytecode-viewer - Java 8 Jar & Android APK 反编译套件。(仅 GPL-3.0 授权)
- Byteman - 通过 DSL(规则)在运行时操作字节码;主要用于测试/故障排除。(LGPL-2.1-or-later)
- 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 图像支持。看起来像Turbo Vision。
- Text-IO - 辅助创建全基于控制台的应用程序。
- Lanterna - 易于使用的控制台文本 GUI 库,类似于 curses。(仅限 LGPL-3.0)
云
用于集成或使用特定云功能的库。- AWS SDK for Java - 提供用于与 Amazon Web Services 交互的 Java API。
- Google Cloud Client Libraries - 用于从 Java 应用程序访问 Google Cloud 服务的客户端库。
代码分析
提供指标和质量测量工具。- Checkstyle - 代码规范和标准的静态分析。(LGPL-2.1-or-later)
- 易出错 - 在编译时捕获常见的编程错误。
- 易出错支持 - Error Prone 扩展:额外的 bug 检查器和大量的 Refaster 模板。
- Infer - 一种现代静态分析工具,用于验证代码的正确性。
- jQAssistant - 基于 Neo4J 查询语言的静态代码分析。(仅 GPL-3.0 授权)
- NullAway - 通过低构建时开销消除 NullPointerExceptions。
- PMD - 源代码分析,用于查找不良编码实践。
- p3c - 提供阿里巴巴的 PMD、IDEA 和 Eclipse 编码规范。
- RefactorFirst - 识别并优先处理 God 类和高度耦合类。
- SonarJava - 用于 SonarQube 和 SonarLint 的静态分析器。(仅限 LGPL-3.0)
- Spoon - 用于分析和转换 Java 源代码的库。
- Spotbugs - 静态分析字节码以发现潜在错误。(仅限 LGPL-2.1)
- ToolsHref - 在线 Java 代码分析器和 JSON 转 Mermaid 可视化工具。
代码覆盖率
支持测试套件代码覆盖率指标收集的框架和工具。- Clover - 依赖于源代码插桩而非字节码插桩。
- Cobertura - 依赖于离线(或静态)字节码插桩和类加载来收集代码覆盖率指标。(仅 GPL-2.0 许可)
- JaCoCo - 一个能够收集代码覆盖率指标的框架,使用离线和运行时字节码插装。
代码生成器
用于生成重复代码模式的工具,以减少冗余和易错性。- ADT4J - 用于代数数据类型的 JSR-269 代码生成器。
- Auto - 自动生成工厂、服务和值类。
- Avaje Http Server - 使用 Javalin 或 Helidon (Nima) SE 生成轻量级 JAX-RS 风格 HTTP 服务器。
- Bootify - 基于浏览器的 Spring Boot 应用生成,具有 JPA 模型和 REST API。
- EasyEntityToDTO - 注解处理器,用于自动生成 DTO 和 Mapper,无需样板代码。
- 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 脚本。通过比较模型与数据库自动生成 Liquibase/Flyway 脚本,并从数据库表中逆向工程 JPA 实体。
- JSpecify Package-Info Generator - Maven 插件,自动生成带有 JSpecify 注解(@NullMarked 和 @NullUnmarked)的 package-info.java 文件,帮助您在 Java 项目中管理空值边界,无需手动编写样板代码。
- Lombok - 一种旨在减少冗余代码的代码生成器。
- Record-Builder - 适用于 Java 记录的辅助构建类,包含构建器、模板和辅助工具。
- Telosys - 简单轻量级代码生成器,可作为 Eclipse 插件使用,也可作为 CLI 使用。
编译器编译器
帮助创建解析器、解释器或编译器的框架。计算机视觉
从图像和视频中获取高级信息的库。- BoofCV - 用于图像处理、相机标定、跟踪、光流法、多视图几何、三维视觉、二维码等的库。
- ImageJ - 带有 API 的医学图像处理应用程序。
- JavaCV - OpenCV、FFmpeg 等的 Java 接口。
配置
Libraries that provide external configuration.- avaje config - 加载 yaml 和 properties 文件,支持动态配置、插件、文件监视和配置事件监听器。
- centraldogma - 基于 Git、ZooKeeper 和 HTTP/2 的高可用版本控制服务配置存储库。
- config - 支持 Java 属性、JSON 及其人类优化超集 HOCON 的配置库。
- Configurate - 支持多种配置格式和转换的配置库。
- Curator Framework - Apache ZooKeeper 的高级 API。
- dotenv - 使用特定环境文件的十二因素配置库。
- Externalized Properties - 简单、轻量级且功能强大的配置库,支持从文件、数据库、git 仓库等外部源解析属性,并具有可扩展的后处理/转换机制。
- Gestalt - Gestalt 为配置管理挑战提供全面的解决方案。它允许您从多个输入源获取配置数据,智能地合并它们,并以结构化、类型安全的方式呈现。
- ini4j - 提供处理 Windows INI 文件的 API。
- KAConf - Java 和 Kotlin 的基于注解的配置系统。
- microconfig - 针对微服务设计的配置系统,有助于将配置与代码分离。不同服务的配置可以包含公共和特定部分,并且可以动态分发。
- owner - 减少属性样板代码。
约束满足问题求解器
帮助实现优化和可满足问题的库。- Choco - 即用型约束满足问题求解器,使用约束编程技术。
- JaCoP - 包含 FlatZinc 语言的接口,使其能够执行 MiniZinc 模型。(AGPL-3.0)
- OptaPlanner - 商业规划和资源调度优化求解器。
- Timefold - 灵活的求解器,支持 Spring/Quarkus,并提供车辆路径问题、维护调度、员工排班等快速入门。
CSV
简化读取/写入 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 空间中计算并集、交集和集合基数的概率数据结构。
- Persistent Collection - Java Collections Framework 的持久和不可变类比。
- Protobuf - Google 的数据交换格式。
- RoaringBitmap - 高速且高效的压缩位图。
- SBE - 简单二进制编码,目前最快的消息格式之一。
- Tape - 高速、事务性、基于文件的 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 - 100% Java 的 HyperSQL 数据库。
- JDBI - 方便的 JDBC 抽象层。
- Jedis - 用于与 Redis 交互的小型客户端,包含命令方法。
- Jest - Elasticsearch REST API 的客户端。
- jetcd - etcd 的客户端库。
- Jinq - 通过对 Java 8 Lambdas 进行符号执行实现类型安全的数据库查询(基于 JPA 或 jOOQ)。
- jOOQ - 基于 SQL 架构生成类型安全的代码。
- Leaf - 分布式 ID 生成服务。
- Lettuce - Lettuce 是一个可扩展的 Redis 客户端,用于构建非阻塞的 Reactive 应用程序。
- Liquibase - 一种数据库无关的库,用于跟踪、管理和应用数据库模式变更。
- MapDB - 支持磁盘或堆外内存的嵌入式数据库引擎,提供并发集合。
- MariaDB4j - 无需安装或外部依赖的 MariaDB 启动器。
- Modality - 轻量级 ORM,具有数据库逆向工程功能。
- OpenDJ - LDAPv3 兼容的目录服务,为 Java 平台开发,提供高性能、高可用性和安全的身份存储。
- Querydsl - Typesafe 统一查询。
- QueryStream - 使用类似流的 API 构建 JPA Criteria 查询。
- QuestDB - 高性能时间序列 SQL 数据库。支持 InfluxDB 行协议、PostgreSQL 线协议和 REST。
- Realm - 可直接在手机、平板或可穿戴设备中运行的移动数据库。
- Redisson - 允许在 Redis 服务器上构建分布式和可扩展的数据结构。
- requery - 现代、轻量级但功能强大的对象映射和 SQL 生成器。轻松映射到或创建数据库,或从任何使用 Java 的平台执行查询和更新。
- Speedment - 利用 Java 8 的 Stream API 进行查询的数据库访问库。
- Spring Data Dynamic Query - 用于 Spring Data JPA、MongoDB 和 Elasticsearch 的统一动态查询接口,支持高级 JOIN(s)、OR 逻辑、作用域条件、强大的投影和零样板的高级功能。
- Spring Data JPA MongoDB Expressions - 允许您使用 MongoDB 查询语言来查询您的关系型数据库。
- Trino - 大数据分布式 SQL 查询引擎。
- Vibur DBCP - 具有高级性能监控功能的 JDBC 连接池库。
- Xodus - 高并发、无模式且符合 ACID 的嵌入式数据库。
- CosId - 通用、灵活、高性能分布式 ID 生成器。
- Apache ShardingSphere - 一种分布式 SQL 事务和查询引擎,支持在任何数据库上进行数据分片、扩展、加密等操作。
日期和时间
处理日期和时间的库。- iCal4j - 解析和构建 iCalendar RFC 5545 数据模型。
- Jollyday - 确定给定年份、国家/名称以及最终州/地区的假日。
- ThreeTen-Extra - 附加的日期时间类,补充 JDK 8 中的类。
- Time4J - 高级日期和时间库。(仅限 LGPL-2.1)
去中心化
处理去中心化任务的库。- java-tron Tron 协议的实现,利用区块链开发去中心化应用。
依赖注入
帮助实现控制反转范式的库。- 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 - 允许在函数式接口中使用检查异常,并将异常转换为 Optional 返回。
- SneakyThrow - 无需字节码操作即可忽略检查异常。也可以在 Java 8 流操作中使用。
- Tail - 使用尾调用优化实现无限递归。
分布式应用
用于编写分布式和容错应用的库和框架。- Apache Geode - 提供可靠异步事件通知和保证消息传递的内存数据管理系统。
- Apache Storm - 实时计算系统。
- Apache ZooKeeper - 用于大型分布式系统的分布式配置、同步和命名注册的协调服务。
- Atomix - 具有容错能力的分布式协调框架。
- Axon - 用于创建 CQRS 应用的框架。
- Dropwizard Circuit Breaker - Dropwizard 的断路器设计模式。(仅 GPL-2.0 许可)
- Failsafe - 通过重试和断路器实现简单的故障处理。
- 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 - 简单而强大的打包和部署。一个强化的 fat JAR,或是一个支持 JVM 优化容器的“Java Docker”。
- 中央仓库 - 开源社区提供的最大二进制组件仓库,作为免费服务。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 - 用于在 Windows、Linux 和 macOS 上进行原生分发的 JAR、资源和 JVM 打包工具。
- really-executable-jars-maven-plugin - 用于创建可执行 JAR 的 Maven 插件。
文档处理
辅助处理办公文档格式的库。- Apache POI - 支持 OOXML(XLSX、DOCX、PPTX)以及 OLE2(XLS、DOC 或 PPT)。
- documents4j - 使用第三方转换器(如 Microsoft Word)进行文档格式转换的 API。
- docx4j - 创建和操作 Microsoft Open XML 文件。
- fastexcel - 用于读取和写入大型 Excel(XLSX)工作表的性能库。
- zerocell - 基于注释的 API,用于从 Excel 表格中读取数据到 POJO 对象,重点在于减少开销。
金融
与金融领域相关的库。- Cassandre - 交易机器人框架。
- Parity - 交易场所平台。
- Philadelphia - 低延迟金融信息交易所。
- Square - 与 Square API 集成。
- Stripe - 与 Stripe API 集成。
- ta4j - 技术分析库。
形式验证
形式化方法工具:证明助手、模型检查、符号执行等。- CATG - 混合单元测试引擎。使用形式化方法自动生成单元测试。
- Checker Framework - 可插拔的类型系统。包括空值类型、物理单位、不可变类型等。(仅 GPL-2.0 许可,附带 Classpath-exception-2.0)
- Daikon - 检测可能的程序不变式,并基于这些不变式生成 JML 规范。
- Java Path Finder (JPF) - JVM 形式化验证工具,包含模型检查器等。由 NASA 创建。
- JMLOK 2.0 - 通过反馈导向的随机测试生成检测代码与 JML 规范之间的不一致性,并为每个检测到的非一致性提出可能的原因。(仅 GPL-3.0 许可)
- KeY - 一种正式的软件开发工具,旨在尽可能无缝地集成面向对象软件的设计、实现、形式规范和形式验证。使用 JML 进行规范描述,并使用符号执行进行验证。(GPL-2.0 或更高版本)
- OpenJML - 将 JML 规范转换为 SMT-LIB 格式,并将程序隐含的证明问题传递给后端求解器。(仅 GPL-2.0)
函数式编程
便于函数式编程的库。- Cyclops - 单子(Monad)和流工具、推导式(comprehensions)、模式匹配、函数式扩展(适用于所有 JDK 集合)、未来流(future streams)、跳板(trampolines)等更多功能。
- derive4j - Java 8 注解处理器和框架,用于派生代数数据类型构造函数、模式匹配和同态。(仅限 GPL-3.0 许可)
- Fugue - Guava 的函数式扩展。
- Functional Java - 实现了众多基本和高级编程抽象,以协助面向组合的开发。
- jOOλ - Java 8 的扩展,旨在通过提供众多缺失的类型和丰富的顺序 Stream API 扩展来填补 lambda 的空白。
- Packrat - Java Stream API 的收集器库。收集器可以增强流的自定义中间操作。
- protonpack - 流工具集合。
- StreamEx - 增强 Java 8 Streams。
- Vavr - 提供持久化数据类型和函数式控制结构的函数式组件库。
游戏开发
支持游戏开发的框架。- FXGL - JavaFX 游戏开发框架。
- JBox2D - 著名 C++ 2D 物理引擎的移植版本。
- jMonkeyEngine - 用于现代 3D 开发的游戏引擎。
- libGDX - 全能跨平台、高级框架。
- Litiengine - 基于 AWT 的轻量级 2D 游戏引擎。
- LWJGL - 一个抽象了 OpenGL/CL/AL 等库的健壮框架。
- Mini2Dx - 适合初学者,适合高手使用的框架,用于快速原型设计和构建 2D 游戏。
- Void2D - 基于 Swing 的内置物理引擎的高级 2D 游戏引擎。
- vulkan4j - Vulkan、OpenGL ES2 和 GLFW 内存分配器绑定。
地理空间
用于处理地理空间数据和相关算法的库- 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 - 通用空间/地理空间库。
GUI
用于创建现代图形用户界面的库- JavaFX - Swing 的继任者。
- 场景构建器 - 用于 JavaFX 应用程序的可视化布局工具。
- SnapKit - 一种现代的 Java UI 库,适用于桌面和网页。
- Sierra - 轻量级声明式 DSL,用于快速开发 Swing 应用程序。
- SWT - 图形组件工具包。
高性能
高性能计算的一切,从集合到特定库。- Agrona - 高性能应用中常见的复杂数据结构和实用方法。
- Disruptor - 线程间消息传递库。
- Eclipse Collections - 受 Smalltalk 启发的集合框架。
- fastutil - 高效紧凑的类型特定集合。
- HPPC - 基本集合
- JCTools - 目前 JDK 中缺失的并发工具。
- Koloboke - Java 集合框架的精心设计的扩展,包含原始类型特化和更多功能。
HTTP 客户端
辅助创建 HTTP 请求和/或绑定响应的库。- Apache HttpComponents - 面向 HTTP 及相关协议的低级 Java 组件工具集。
- Async Http Client - 异步 HTTP 和 WebSocket 客户端库。
- Avaje Http Client - 基于 JDK 11 的 HttpClient 的包装器,添加了 Feign 类似的接口以及其他增强功能。
- Feign - 受 Retrofit、JAXRS-2.0 和 WebSocket 启发的 HTTP 客户端绑定器。
- Google HTTP Client - 支持可插拔的 HTTP 传输抽象,支持 java.net.HttpURLConnection、Apache HTTP Client、Android、Google App Engine、XML、Gson、Jackson 和 Protobuf。
- methanol - HTTP 客户端扩展库。
- Retrofit - 安全的 REST 客户端。
- Ribbon - 云端经过实战检验的客户端 IPC 库。
- Riptide - Spring 的 RestTemplate 客户端响应路由。
- unirest-java - 简洁、轻量级的 HTTP 客户端库。
超媒体类型
处理序列化为超媒体类型的库。- hate - 根据 HAL 规范构建超媒体友好的对象。
- JSON-LD - JSON-LD 实现。
- Siren4J - 用于 Siren 规范的库。
- Spring HATEOAS - 独立和 Spring 支持,用于使用 HAL、HAL FORMS、Collection+JSON、ALPS 和 UBER 构建基于超媒体的 API。
IDE
尝试简化开发多个方面的集成开发环境。- Eclipse - 一个成熟的开放源码项目,支持大量插件和语言。
- IntelliJ IDEA - 支持多种 JVM 语言,并为 Android 开发提供良好的选项。商业版面向企业领域。
- jGRASP - 创建用于提供与调试器协同工作的软件可视化工具,如控制结构图、UML 类图和对象查看器。
- NetBeans - 提供对多种 Java SE 和 EE 功能的集成,从数据库访问到 HTML5。
- SnapCode - 基于浏览器的 Java 现代集成开发环境,专注于教育。
- Visual Studio Code - 通过使用内部市场的扩展,为轻量级项目提供 Java 支持,具有简单、现代的工作流程。
图像
用于创建、评估或操作图形图像的库。- Barcode-Lib4J - 生成 QR Code、DataMatrix 以及其他一维/二维条形码,支持矢量(PDF、EPS、SVG)和栅格(PNG、BMP、JPG)图像,具有 DPI 感知、高精度和 CMYK 色彩模型支持。
- Imgscalr - 简单、高效且硬件加速的纯 Java 2D 图像缩放库。
- Tess4J - Tesseract OCR API 的 JNA 封装。
- Thumbnailator - 高质量缩略图生成库。
- TwelveMonkeys - 一系列扩展支持的图像文件格式的插件集合。
- ZXing - 支持多种格式的 1D/2D 条形码图像处理库。
- image-comparison - 比较两个相同尺寸的图像并直观显示差异的库,通过绘制矩形来展示不同之处。图像的某些部分可以排除在比较之外。
- vips-ffm - libvips 的全面绑定,使用 Java 的"Foreign Function & Memory" API。
- scrimage - 一个不可变、函数式且性能优越的 JVM 图像处理库。
Introspection
帮助简化 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
用于将 JSON 序列化和反序列化为 Java 对象的库。- Avaje Jsonb - 通过源代码生成实现无反射的 Json 绑定,支持类似 Jackson 的注解。
- DSL-JSON - 具有高级编译时数据绑定的 JSON 库。
- Genson - 强大且易于使用的 Java 到 JSON 转换库。
- Gson - 将对象序列化为 JSON,反之亦然。具有出色的即时使用性能。
- HikariJSON - 高性能 JSON 解析器,比 Jackson 快 2 倍。
- jackson-modules-java8 - 用于 Java 8 数据类型和特性的 Jackson 模块集。
- Jackson-datatype-money - 用于支持 JavaMoney 数据类型的 JSON 序列化和反序列化的开源 Jackson 模块。
- Jackson - 类似于 GSON,但如果你需要更频繁地实例化库,则可以提供性能提升。
- JSON-io - 将 Java 转换为 JSON/TOON 以及反向转换。支持复杂对象图、循环引用以及 TOON 格式,可节省 40-50% 的 LLM token。
- jsoniter - 高速且灵活的库,具有迭代器和懒解析 API。
- LoganSquare - 基于 Jackson 流式 API 的 JSON 解析和序列化库。性能优于 GSON 和 Jackson 库。
- Moshi - 现代 JSON 库,较少主观性,使用内置类型如 List 和 Map。
- Yasson - 类和 JSON 文档之间的绑定层,类似于 JAXB。
- fastjson - 非常快的处理器,无需额外依赖,支持完整的数据绑定。
- Jolt - JSON 到 JSON 转换工具。
- JsonPath - 使用类似 XPATH 的语法从 JSON 中提取数据。
- JsonSurfer - 专门用于处理大型和复杂 JSON 数据的流式 JsonPath 处理器。
JVM 和 JDK
当前的 JVM/JDK 实现。- Which JDK - 常见 JVM 的优缺点概述。
- 采用 Open JDK - 社区驱动的 OpenJDK 构建,包括 HotSpot 和 OpenJ9。
- Corretto - 亚马逊提供的免费、多平台、生产就绪的 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 - Open JDK 社区主页。 (仅 GPL-2.0,含 Classpath-exception-2.0)
- ParparVM - 非阻塞、并发 GC 的 iOS 虚拟机。 (仅 GPL-2.0,含 Classpath-exception-2.0)
- RedHat Open JDK - RedHat 的 OpenJDK 发行版。(GPL-2.0-only WITH Classpath-exception-2.0)
- SAP Machine - SAP 提供的免费、经过严格测试并经过 JCK 验证的 OpenJDK 友好分支。(GPL-2.0-only WITH Classpath-exception-2.0)
- Zulu - Windows、Linux 和 macOS 的 OpenJDK 构建版本。(GPL-2.0-only WITH Classpath-exception-2.0)
- Microsoft JDK - Microsoft 构建的 OpenJDK,免费、开源、新鲜出炉!
日志记录
记录应用程序行为的库。- 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 构建的一组库,为现有 instrumentations 提供扩展和插件。
- Flogger - Flogger 是一个用于 Java 的流畅式日志 API。它支持多种功能,并且相较于现有的日志 API 具有许多优势。
机器学习
提供特定统计算法以从数据中学习的工具。- Apache Flink - 快速、可靠、大规模数据处理引擎。
- Apache Mahout - 专注于协同过滤、聚类和分类的可扩展算法。
- DatumBox - 提供多种算法和预训练模型用于自然语言处理。
- Deeplearning4j - 分布式和多线程深度学习库。
- DJL - 高级且与引擎无关的深度学习框架。
- H2O - 大数据分析的统计引擎。
- Intelligent java - 可编程地与远程深度学习和语言模型无缝集成。
- JSAT - 用于预处理、分类、回归和聚类的算法,支持多线程执行。(仅限 GPL-3.0 许可)
- m2cgen - 将模型编译为本机代码的命令行工具。
- Neureka - 一个轻量级、跨平台的、OpenCL 加速的 nd-array/张量库。
- oj! Algorithms - 用于数据科学、机器学习和科学计算所需的高性能数学、线性代数和优化。
- Oryx 2 - 用于构建实时、大规模机器学习应用的框架。包括协同过滤、分类、回归和聚类等端到端应用。
- Siddhi - 云原生的流处理和复杂事件处理引擎。
- Smile - 统计机器智能与学习引擎提供了一套机器学习算法和可视化库。
- Tribuo - 提供分类、回归、聚类、模型开发等工具,并与其他库如 scikit-learn、pytorch 和 TensorFlow 接口。
- Weka - 数据挖掘任务算法集合,从预处理到可视化。 (GPL-3.0-only)
消息
辅助在客户端之间发送消息以确保协议独立性的工具。- Aeron - 高效、可靠的单播和多播消息传输。
- Apache ActiveMQ - 实现 JMS 的消息代理,将同步通信转换为异步通信。
- Apache Camel - 通过企业集成模式将不同的传输 API 集成在一起。
- Apache Kafka - 高吞吐量分布式消息系统。
- Apache Pulsar - 分布式发布/订阅消息系统。
- Apache RocketMQ - 快速、可靠且可扩展的分布式消息平台。
- Apache Qpid - Apache Qpid 提供支持 AMQP 协议的消息工具,并支持多种语言和平台。
- AutoMQ - AutoMQ 是一个云原生、无服务器的 Kafka 改进版本,易于扩展、无需管理和具有成本效益。
- Emissary - 简单、轻量级且快速的通信库,用于解耦消息(请求和事件)和消息处理器。
- EventBus - 简单的发布/订阅事件总线。
- Hermes - 基于 Kafka 构建的高效可靠的消息代理。
- JeroMQ - ZeroMQ 的实现。
- Nakadi - 在 Kafka 之上提供 RESTful API。
- RabbitMQ Java client - RabbitMQ 客户端。
- Smack - 跨平台的 XMPP 客户端库。
- NATS 客户端 - NATS 客户端。
微服务
用于创建和管理微服务的工具。- ActiveRPC - 轻量级且高效的库,适用于复杂高负载分布式应用和类似 Memcached 的解决方案。
- 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 - 流量控制组件,为微服务提供可靠性、弹性和监控。
其他
其他所有内容。- 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 翻译器。
- JBake - 静态网站生成器。
- JBang - JBang 使使用 Java 进行脚本编写变得容易。它允许您使用单个文件进行代码和依赖管理,并允许您直接运行它。
- JBot - 用于构建聊天机器人的框架。(GPL-3.0-only)
- JCuda - JCuda 提供了 CUDA 和 CUDA 相关库的 Java 绑定。
- JEmoji - 一个自动生成的表情符号库,提供类型安全的直接访问表情符号,并支持 Discord、Slack、GitHub 等平台的别名功能。
- Jimfs - 内存文件系统。
- JObfuscator![c] - 源代码混淆器。
- 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 代理。
- 现代 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 - 用于发送 webhook 和验证签名的 Svix API 库。
- Togglz - 功能开关模式实现。
- TypeTools - 用于解析泛型类型的工具。
- webcam-capture - 用于在 Java 中直接使用内置和外部摄像头的库。
- XMLBeam - 通过代码中的注解或 XPath 处理 XML。
- yGuard - 通过重命名和缩减进行混淆。
移动开发
用于创建或管理移动应用程序的工具。- Codename One - 跨平台解决方案,用于编写原生移动应用程序。(GPL-2.0-only WITH Classpath-exception-2.0)
- MobileUI - 跨平台框架,用于使用 Java 和 Kotlin 开发具有原生 UI 的移动应用程序。
- Multi-OS Engine - 开源跨平台引擎,用于开发原生移动应用程序(iOS、Android 等)。
监控
通过提供遥测数据来观察/监控生产环境中的应用程序的工具。- Apitally - 专为 Spring Boot 应用程序设计的简单、注重隐私的 API 监控、分析和请求日志记录工具。
- Automon - 结合了 AOP 的强大功能与监控和/或日志记录工具。
- 启动使用 Spring Boot Starter - 提供应用程序启动和运行时指标,包括 JVM 运行时间、内存使用率和 CPU 负载的 Spring Boot Actuator 扩展。
- Datadog - 现代监控与分析。
- Dropwizard Metrics - 通过 JMX 或 HTTP 暴露指标,并将它们发送到数据库。
- Failsafe Actuator - 在 Spring-Boot 环境中对 Failsafe 电路断路器进行开箱即用的监控。
- Glowroot - 开源 Java APM。
- HertzBeat - 实时监控系统,支持自定义监控和无需代理。
- hippo4j - 动态且可观察的线程池框架。
- inspectIT - 通过可动态修改的钩子捕获详细的运行时信息。它支持通过 OpenTracing API 在多个系统之间进行跟踪,并可以将数据与用户监控相关联。
- Instrumental - 实时 Java 应用程序性能监控。一项商业服务,提供免费的开发者账户。
- Jaeger client - Jaeger 客户端。
- JavaMelody - 性能监控和剖析。
- jmxtrans - 连接到多个 JVM 并通过 JMX 查询它们的属性。其查询语言基于 JSON,允许非 Java 程序员访问 JVM 属性。支持不同的输出写入,包括 Graphite、Ganglia 和 StatsD。
- Jolokia - 基于 REST 的 JMX
- Micrometer - 中立厂商的指标/可观察性外观,用于最流行的指标/可观察性库。
- Micrometer Tracing - 中立厂商分布式追踪接口,支持最流行的追踪库。
- nudge4j - 通过字节码注入,从浏览器为 Java 8 提供远程开发者控制台。
- OpenTelemetry - 用于 instrument、生成、收集和导出遥测数据,以帮助您分析软件的性能和行为。
- Pinpoint - 开源 APM 工具。
- Prometheus - 提供多维数据模型、DSL、自主服务器节点等更多功能。
- Sentry - 与Sentry集成,这是一个应用错误跟踪和性能分析平台。
- SPM - 用于 JVM 应用程序的分布式事务跟踪性能监控工具。
- Stagemonitor - 用于 JVM 应用程序的开源性能监控和事务跟踪工具。
- Sysmon - 轻量级 Java 虚拟机平台监控工具。
- zipkin - 分布式跟踪系统,收集微服务架构中解决延迟问题所需的时序数据。
本地
用于处理平台特定的本地库。- Aparapi - 将字节码转换为 OpenCL,允许在 GPU 上执行。
- JavaCPP - 提供高效且易于访问的本地 C++。
- JNA - 无需编写 JNI 即可与原生库进行交互。还提供了对常见系统库的接口。
- JNR - 无需编写 JNI 即可与原生库进行交互。还提供了对常见系统库的接口。与 JNA 目标相同,但更快,并将作为即将到来的Project Panama的基础。
- native-lib-loader - 用于从 Java 中提取和加载原生库的原生库加载器。
自然语言处理
专门处理文本的库。- CogCompNLP - 为纯文本输入提供常用标注器。(研究与学术使用许可)
- CoreNLP - 提供一组用于词性标注、命名实体识别和情感分析等任务的工具。(GPL-3.0 或更高版本)
- DKPro - 可重用 NLP 工具集合,用于语言预处理、机器学习、词汇资源等。
- Hypherator - Java 分词库,具有类似迭代器的接口。可以直接使用 - 包含多种语言的字典。
- LingPipe - 用于从词性标注到情感分析的多种任务的工具包。
网络编程
用于构建网络服务器的库- Commons-networking - 用于服务器发送事件(SSE)的客户端。
- Comsat - 将标准 Java 网络相关 API 与 Quasar 纤维和演员集成。
- Dubbo - 高性能 RPC 框架。
- Grizzly - NIO 框架。用作 Glassfish 中的网络层。
- gRPC-java - 基于 protobuf 和 HTTP/2 的 RPC 框架。
- KryoNet - 提供简洁的 API,使用 NIO 和 Kryo 实现高效的 TCP 和 UDP 客户端/服务器网络通信。
- MINA - 用于 TCP/IP 和 UDP/IP 网络操作的抽象、事件驱动的异步 I/O API,通过 Java NIO 实现。
- 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。
ORM
处理对象持久化的 API。- Apache Cayenne - 提供一个干净、静态的数据访问 API。还包括一个用于处理数据库映射的 GUI 模型器,以及数据库反向工程和生成。
- Doma - 在编译时通过注解处理验证并生成源代码的数据库访问框架,以及称为双向 SQL 的原生 SQL 模板。
- Ebean - 提供简单快速的数据访问。
- EclipseLink - 支持多种持久化标准:JPA、JAXB、JCA 和 SDO。
- Hibernate - 功能强大且广泛使用,拥有活跃的社区。(仅限 LGPL-2.1 许可)
- MyBatis - 将对象与存储过程或 SQL 语句相结合。
- MyBatis-Plus - MyBatis 的强大增强工具包,用于简化开发。
- ObjectiveSql - 一种用于快速开发和约定优于配置的 ActiveRecord ORM。
- Permazen - 自然语言持久化层。
- SimpleFlatMapper - 简单数据库和 CSV 映射器。
PaaS
Java 平台即服务。- AWS Elastic Beanstalk - 基于 AWS,支持 Tomcat 和 Jetty。
- AWS Lambda - 无服务器计算。
- Google Cloud - Google 的云基础设施。
- Heroku - 抽象计算环境。
- Microsoft Azure - 微软的云基础设施。
- OpenShift - 提供额外的本地解决方案。
路径规划
图论和空间环境中查找路径的算法和库。- Pathetic - 一个高度可配置的 3D A*路径查找库,使用特定优化以实现高性能。
- Apache FOP - 从 XSL-FO 创建 PDF 文件。
- Apache PDFBox - 用于创建和操作 PDF 的工具箱。
- Dynamic Jasper - JasperReports 的抽象层。(仅限 LGPL-3.0)
- DynamicReports - 简化 JasperReports。(仅限 LGPL-3.0)
- Eclipse BIRT - 用于创建 PDF 和其他格式(DOCX、XLSX、HTML 等)的报告引擎,使用基于 Eclipse 的可视化编辑器。
- flyingsaucer - XML/XHTML 和 CSS 2.1 渲染器。(LGPL-2.1 或更高版本)
- iText - 可编程创建 PDF 文件。
- JasperReports - 复杂的报表引擎。(仅限 LGPL-3.0)
- Open HTML to PDF - 基于 flyingsaucer 和 Apache PDFBox,正确支持现代 PDF 标准。
- OpenPDF - iText 的开源分支。(仅限 LGPL-3.0 和 MPL-2.0)
- Tabula - 从 PDF 文件中提取表格。
性能分析
性能分析、剖析和基准测试工具。- fastThread - 使用免费的基于云的上传界面分析和可视化线程转储。
- GCeasy - 分析和可视化 GC 日志的工具。它提供免费的基于云的上传界面。
- honest-profiler - 低开销、无偏见的采样剖析工具。
- jHiccup - 记录和记录平台 JVM 停滞。
- JITWatch - 分析 HotSpot JVM 所做的 JIT 编译器优化。
- JMH - 用于构建、运行和分析用 Java 和其他针对 JVM 的语言编写的纳秒/微秒/毫秒/宏基准测试的工具包。(仅限 GPL-2.0 与 Classpath-exception-2.0)
- LatencyUtils - 用于延迟测量和报告的工具。
平台
包含多个类别库的框架套件。Apache Commons
- BCEL - Byte Code Engineering Library - 分析、创建和操作 Java 类文件。
- BeanUtils - Java 反射和内省 API 的易用包装器。
- BeanUtils2 - Commons BeanUtils 的重新设计。
- BSF - Bean 脚本框架 - 脚本语言接口,包括 JSR-223。
- Chain - 责任链模式实现。
- ClassScan - 在不加载的情况下查找类接口、方法、字段和注解。
- CLI - 命令行参数解析器。
- CLI2 - Commons CLI 的重新设计。
- Codec - 通用编码/解码算法,例如语音、base64 或 URL。
- Collections - 扩展或增强 Java 集合框架。
- Compress - 定义了一个用于处理 tar、zip 和 bzip2 文件的 API。
- Configuration - 读取多种格式的配置/首选项文件。
- 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 是一个用于生成标识符的组件。
- Imaging - 图像库。
- IO - I/O 工具集合。
- Javaflow - 用于捕获应用程序状态的 Continuation 实现。
- JCI - Java 编译器接口。
- JCS - Java 缓存系统。
- Jelly - 基于 XML 的脚本和处理引擎。
- Jexl - 扩展了 JSTL 表达式语言的通用表达式语言。
- JNet - JNet 允许通过 java.net API 动态注册 URL 流处理程序。
- JXPath - 使用 XPath 语法操作 Java Beans 的工具。
- Lang - 为 java.lang 中的类提供附加功能。
- 日志记录 - 各种日志 API 实现的包装器。
- 数学 - 轻量级、自包含的数学和统计组件。
- 监控 - 监控旨在为 Java 应用程序提供一个简单但可扩展的监控解决方案。
- Nabla - Nabla 提供自动微分类,可以生成用 Java 语言实现的任何函数的导数。
- Net - 网络工具和协议实现的集合。
- OGNL - 对象图导航语言。
- OpenPGP - 使用 OpenPGP 签名和验证数据的接口。
- Performance - 微基准客户端的小型框架,包含 Commons DBCP 和 Pool 的实现。
- Pipeline - 提供一组围绕工作队列设计的管道工具,这些队列并行运行以顺序处理数据对象。
- Pool - 通用对象池组件。
- Proxy - 用于创建动态代理的库。
- RDF - RDF 1.1 的通用实现,可以在 JVM 上实现的系统。
- RNG - Commons Rng 提供伪随机数生成器的实现。
- SCXML - State Chart XML 规范的实现,旨在创建和维护 Java SCXML 引擎。
- Validator - 框架,用于在 XML 文件中定义验证器和验证规则。
- VFS - 虚拟文件系统组件,将文件、FTP、SMB、ZIP 等视为单一逻辑文件系统。
- Weaver - 提供了一种简便的方式来增强(编织)编译后的字节码。
其他
- CUBA Platform - 基于 Spring、EclipseLink 和 Vaadin 的企业应用高级框架,具有丰富的 Web 界面。
- Light-4J - 快速、轻量级且高效的服务框架,内置安全功能。
- Orienteer - 开源商业应用平台,用于快速配置/开发 CRM、ERP、LMS 等应用。
- Spring - 提供许多用于依赖注入、面向切面编程、安全等方面的软件包。
流程
帮助管理操作系统进程的库。- ch.vorburger.exec - Apache Commons Exec 的便捷 API。
- zt-exec - 提供了一个统一的 API 来访问 Apache Commons Exec 和 ProcessBuilder。
- zt-process-killer - 停止从 Java 启动或通过 PID 的系统进程。
反应式库
用于开发响应式应用程序的库。- Akka - 用于构建并发、分布式、容错和事件驱动应用程序的工具包和运行时。
- Reactive Streams - 提供异步流处理的非阻塞背压标准。
- Reactor - 用于在 JVM 上构建非阻塞应用程序的框架,提供响应式编程支持。
- RxJava - 允许使用可观察序列组合异步和基于事件的程序。
- vert.x - 多语言事件驱动应用程序框架。
REST 框架
专门用于创建 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 - 用于构建健壮、可扩展的 RESTful 架构的框架,采用类型安全的绑定和异步、非阻塞 IO,提供端到端的开发者工作流程,促进干净的做法、统一的接口设计和一致的数据建模。
- RESTEasy - 完全认证且可移植的 JAX-RS 规范实现。
- RestExpress - JBoss Netty HTTP 栈的轻量级封装,提供可扩展性和高性能。
- Restlet Framework - 具有强大路由和过滤功能的先驱框架,以及统一的客户端和服务器 API。
- Spark - 受 Sinatra 启发的框架。
- Crnk - JSON API 规范的实现,用于构建具有排序、过滤、分页、链接、对象图、类型安全、批量更新、集成等功能的资源导向 REST 端点。
- springdoc-openapi - 使用 Spring Boot 项目自动生成 API 文档。
- Swagger - 标准、语言无关的 REST API 接口。
- openapi-generator - 根据一个 OpenAPI 规范自动生成 API 客户端库、SDK、服务器桩、文档和配置。
科学
科学计算、分析和可视化库。- BioJava - 通过提供生物信息学中常用的算法、文件格式解析器、测序和 3D 可视化功能,促进生物数据处理。
- Chart-FX - 专注于性能优化的科学图表库,支持 25 Hz 更新频率的大数据集实时数据可视化。
- DataMelt - 科学计算、数据分析和数据可视化的环境。(GPL-3.0-or-later)
- Erdos - 模块化、轻量级且易于使用的理论算法图框架。
- GraphStream - 用于建模和分析动态图的库。
- JFreeChart - 用于 Swing、JavaFX 和服务器端应用程序的 2D 图表库。(仅限 LGPL-2.1)
- JGraphT - 提供数学图论对象和算法的图库。
- JGraphX - 用于可视化(主要为 Swing)和交互节点-边图的库。
- jSciPy - jSciPy 是一个用于科学计算的 Java 库,提供了受流行科学计算库启发的功能。目前它提供了信号处理模块,包括 Butterworth 滤波器、峰值查找算法以及用于常微分方程的 RK4 求解器。
- LogicNG - 用于创建、操作和求解布尔和伪布尔公式的库。
- Mines Java Toolkit - 用于地球物理科学计算、可视化和数字信号分析的库。
- Morpheus - 提供了一种通用的二维内存高效表格数据结构,称为 DataFrame,以支持在 JVM 上进行高效的内存分析,用于科学计算。
- Orekit - 一个低级航天飞行动力学库,提供基本元素(轨道、日期、姿态、坐标系等)以及各种算法(转换、传播、指向等)来处理它们。
- Orson-Charts - 生成各种 3D 图表,可以在 Swing 和 JavaFX 中显示,或导出为 PDF、SVG、PNG 和 JPEG。(仅限 GPL-3.0)
- Tablesaw - 包括一个数据帧、一个嵌入式列存储以及数百种方法来转换、汇总或过滤数据。
- XChart - 轻量级数据绘图库。提供多种可定制的图表类型。
搜索
用于文档搜索和分析的索引引擎。- Apache Lucene - 高性能、功能全面、跨平台、文本搜索引擎库。
- Apache Solr - 面向高流量优化的企业级搜索引擎。
- Elasticsearch - 分布式、支持多租户、全文本搜索引擎,具有 RESTful 网络界面和无需模式的 JSON 文档。
- Indexer4j - 简单轻量级全文索引和搜索库。
安全
处理安全、认证、授权或会话管理的库。- Apache Shiro - 执行身份验证、授权、加密和会话管理。
- Ayza - 高级 SSL 配置构建器,用于配置使用 SSL/TLS 的 HTTP 客户端和服务器。
- Bouncy Castle - 全功能加密库和 JCA 提供程序,提供从基本辅助功能到 PGP/SMIME 操作的广泛功能。
- DependencyCheck - 检测项目依赖项中公开披露的漏洞。
- Cryptomator - 跨平台、透明、客户端加密云文件。(仅 GPL-3.0 授权)
- Hdiv - 运行时应用程序,抵御 OWASP Top 10 中包含的应用程序安全风险,包括 SQL 注入、跨站脚本、跨站请求伪造、数据篡改和暴力破解攻击。
- jjwt - Java 和 Android 的 JSON Web 令牌。
- jwt-java - 轻松创建和解析 JSON Web 令牌,并使用流畅的 API 创建自定义 JWT 验证器。
- Jwks RSA - JSON Web Key Set 解析器。
- Kalium - Networking and Cryptography (NaCl) 库的绑定。
- Keycloak - 浏览器应用程序和 RESTful Web 服务的集成式 SSO 和 IDM。
- Keywhiz - 用于分发和管理密钥的系统。
- Nbvcxz - 高级密码强度评估。
- OACC - 提供基于权限的授权服务。
- OpenAM - 访问管理解决方案,包括身份验证、单点登录、授权、联合、权限和 Web 服务安全。
- OTP-Java - 基于 RFC 4226(HOTP)和 RFC 6238(TOTP)的一次性密码生成库
- pac4j - 安全引擎。
- Passay - 通过将候选密码与可配置的规则集进行验证来强制执行密码策略。
- Password4j - 用户友好的加密库,支持 Argon2、Bcrypt、Scrypt、PBKDF2 以及各种其他加密哈希函数。
- SecurityBuilder - 用于 JCA 和 JSSE 类的流畅构建器 API,特别是 X.509 证书。
- 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 的原生绑定,Hoverfly 是一个代理,允许您模拟 HTTP 服务。
- Karate - 结合 API 自动化测试、模拟和性能测试的 DSL,使测试 REST/HTTP 服务变得简单。
- REST Assured - 用于轻松测试 REST/HTTP 服务的 DSL。
- WebTau - 在 REST-API、Graph QL、浏览器、数据库、CLI 和业务逻辑上进行测试,使用一致的匹配器和概念。
BDD
针对软件开发过程进行的测试,该过程起源于 TDD,并深受 DDD 和 OOAD 的影响.- Cucumber - 提供了一种用普通语言描述功能的方法,客户可以理解。
- Cukes-REST - 使用 Cucumber 进行 REST 服务测试的 Gherkin 步骤集合。
- J8Spec - 遵循类似 Jasmine 的语法。
- JBehave - 可配置性极强的框架,用于描述故事。
- JGiven - 提供一种流畅的 API,允许更简单的组合。
- Lamdba Behave - 致力于提供一种流畅的 API,用于以长而描述性的句子编写测试,这些句子读起来像普通的英语。
- Serenity BDD - 自动化验收测试和报告库,与 Cucumber、JBehave 和 JUnit 一起工作,使编写高质量的执行规范更加容易。
测试夹具
与随机数据的创建和处理相关的一切。- AutoParams - 支持生成测试数据或组合场景用于参数化测试。
- Beanmother - 从 YAML 配置文件设置 bean。
- Datafaker - 基于 Java Faker 的现代伪造数据生成器分支。
- Fixture Factory - 从模板生成伪造对象。
- jFairy - 伪造数据生成器。
- Instancio - 通过生成完全填充的、可重复的对象来自动化单元测试中的数据设置。包含 JUnit 5 扩展。
- Randomized Testing - 用于以伪随机方式运行 JUnit 测试的 JUnit 测试运行器和插件。
- Java Faker - Ruby 的伪造数据生成器的移植版本。
- Mockneat - 另一个伪造数据生成器。
- JMock - JMock 是一个用 Java 实现的高性能数据生成和模拟组件库。
框架
提供针对特定用例的测试运行环境。- Apache JMeter - 功能测试和性能测量。
- JMeter DSL.java - 使用 JMeter 进行负载测试,就像使用 JUnit 测试一样简单。
- Arquillian - 用于 Java EE 容器的集成和功能测试平台。
- BitDive - 零代码集成测试平台,可从运行时应用程序行为生成测试。
- cdi-test - 用于轻松高效测试 CDI 组件的 JUnit 扩展。
- Citrus - 专注于客户端和服务器端消息的集成测试框架。
- Gatling - 易于使用、可维护且高性能的负载测试工具。
- JUnit - 常用的测试框架。
- jqwik - 基于 JUnit 5 构建的性质测试引擎。
- Pact JVM - 消费者驱动的契约测试。
- PIT - 快速变异测试框架,用于评估现有 JUnit 或 TestNG 测试套件的故障检测能力。
- weld-testing - 一组测试框架扩展(JUnit 4、JUnit 5、Spock),通过 Weld 增强对 CDI 组件的测试。支持 Weld 5。
- selenium - 浏览器自动化框架和生态系统。
Matchers
提供自定义匹配器的库。- AssertJ - 提高可读性的流畅断言。
- Hamcrest - 可组合的匹配器,用于创建灵活的意图表达式。
- JSONAssert - 简化 JSON 字符串的测试。
- JsonUnit - 简化测试中 JSON 比较的库。
- Truth - Google 的流畅断言和命题框架。
- XMLUnit - 简化 XML 输出的测试。
杂项
与测试相关的一些其他事项- ConsoleCaptor - 用于单元测试目的的捕获控制台输出。
- junit-dataprovider - JUnit 的 TestNG 样式的数据提供器/运行器。
- junit-pioneer - JUnit 5 扩展包,推动木星的前沿。
- LogCaptor - 用于单元测试目的捕获日志条目。
- log-capture - 捕获日志条目并为单元和集成测试提供断言。
- Mutability Detector - 报告给定类的实例是否是不可变的。
- pojo-tester - 自动对基本 POJO 方法进行测试。(仅限 LGPL-3.0)
- raml-tester - 测试请求/响应是否与给定的 RAML 定义匹配。
- Selfie - 快照测试(内联和磁盘上)。
- Stebz - 用于测试步骤管理的多方法框架。
- Testcontainers - 提供可一次性使用的常见数据库、Selenium 网络浏览器或任何其他可在 Docker 容器中运行的实例。
Mocking
用于模拟协作对象以帮助测试单个、隔离单元的工具。- JMockit - 集成测试、API 模拟和伪造、以及代码覆盖率。
- Mockito - 允许您使用干净且简单的 API 编写测试的模拟框架。
- MockServer - 允许模拟与 HTTPS 集成的系统。
- Moco - 简洁的用于存根和模拟的 Web 服务。
- PowerMock - 模拟静态方法、构造函数、final 类和方法、私有方法,以及移除静态初始化器。
- WireMock - 模拟和存根 Web 服务。
- EasyMock - EasyMock 是一个 Java 库,提供了一种简单的方法来在单元测试中使用 Mock 对象。
工具
提供通用实用函数的库。- Arthas - 允许在不修改代码或重启服务器的情况下,为应用程序进行生产问题排查。
- bucket4j - 基于令牌桶算法的速率限制库。
- cactoos - 面向对象原语集合。
- Chocotea - 从 Java 代码生成 Postman 集合、环境和集成测试。
- CRaSH - 提供一个运行 CRaSH 的 JVM 的 shell。被 Spring Boot 等使用。(LGPL-2.1-or-later)
- Dex - 能够进行强大的 ETL 和数据可视化的 Java/JavaFX 工具。
- dregex - 使用确定性有限自动机的正则表达式引擎。它支持一些 Perl 风格的功能,同时保持线性匹配时间,并提供集合操作。
- Embulk - 批量数据加载工具,帮助在不同数据库、存储、文件格式和云服务之间进行数据传输。
- fswatch - 微型库,用于监视目录文件系统变化,简化 java.nio.file.WatchService。
- Gephi - 跨平台工具,用于可视化和操作大型图网络。(仅 GPL-3.0 许可)
- Guava - 集合、缓存、原始类型支持、并发库、常用注解、字符串处理、I/O 等。
- JADE - 用于构建和调试多智能体系统的框架和环境。(仅限 LGPL-2.0)
- Javadoc Publisher - 从您的 maven/gradle 项目生成 Javadoc,并自动部署到 GitHub Page。
- Java Diff Utils - 用于文本或数据比较和补丁的实用工具。
- JavaVerbalExpressions - 帮助构建复杂正则表达式的库。
- JGit - 轻量级,纯 Java 实现的 Git 版本控制系统库。
- JKScope - 受 Kotlin 启发的 Java 范围函数。
- minio-java - 提供简单的 API 来访问任何 Amazon S3 兼容的对象存储服务器。
- Protégé - 提供一个本体编辑器和一个构建基于知识的系统的框架。
- Semver4j - 轻量级库,帮助您以不同模式处理语义版本控制。
- Underscore-java - Underscore.js 函数的移植。
版本管理器
帮助创建开发环境并在不同 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 框架
处理 Web 应用程序各层之间通信的框架。- ActiveJ - 一种轻量级异步框架,专为开发高性能网络应用程序而设计。
- Apache Tapestry - 一种面向组件的框架,用于创建动态、健壮、高度可扩展的网络应用程序。
- Apache Wicket - 一种基于组件的网络应用程序框架,类似于 Tapestry,具有状态 GUI。
- Blade - 一种轻量级、模块化的框架,旨在优雅和简单。
- Bootique - 一个为可运行应用程序设计的极简主义框架。
- Firefly - 异步框架,用于快速开发高性能 Web 应用程序。
- Javalin - 用于 Web 应用的微框架。
- Jooby - 可扩展、快速且模块化的微型框架,提供多种编程模型。
- Ninja - 全栈式网络框架。
- Pippo - 小型、高度模块化、类似 Sinatra 的框架。
- Play - 基于 Akka 构建,为 Java 和 Scala 中的高可扩展应用程序提供可预测且资源消耗极低(CPU、内存、线程)。
- PrimeFaces - 具有免费和商业/支持版本的 JSF 框架及前端组件。
- Ratpack - 一套简化快速、高效、可扩展且经过充分测试的 HTTP 应用程序的库。
- Takes - 基于真正面向对象编程和不可变性的主观性 Web 框架。
- Vaadin - 全栈开源 Java 框架,简化 Web 应用开发。仅使用 Java 即可构建复杂、交互式应用程序,并通过 TypeScript 和 React 组件进行增强,无需深入 JavaScript、CSS 或 HTML 专业知识。
- WebForms Core - 一种从服务器管理 HTML 标签的技术。
- Erupt - 基于注释的低代码与 JPA 可视化
工作流编排引擎
资源
相关的 Awesome 列表
Awesome 列表与 Java & JVM 生态系统相关。- Awesome Annotation Processing
- Awesome Graal
- Awesome Gradle Plugins
- Awesome Java libraries and hidden gems
- Awesome J2ME
- AwesomeJavaFX
- Awesome JVM
- Awesome Microservices
- Awesome REST
- Awesome Selenium
- Awesome Hybris
- ciandcd
- Useful Java Links
- Java 并发清单
- Java 开发者路线图
社区
活跃讨论- r/java - Java 社区的子版块。
- Stack Overflow - 问答平台。
前端
提供此列表前端界面的网站。请注意,不会有一个官方网站。我们不与特定网站关联,并且每个人都可以创建一个。有影响力的书籍
那些产生了重大影响且仍然值得阅读的书籍。- Core Java Volume I--Fundamentals
- 《核心 Java,第二卷——高级特性》
- 《Effective Java(第 3 版)》
- 《Head First Java(第 3 版)》
- 《Java 并发编程实战》
- 《Java Developer's Handbook (2nd Edition)》
- 《Thinking in Java》
播客和屏幕录制
编程时可以查看或收听的内容- 140 秒小鸭 - Twitter 上的短视频,深入讲解 Java 调试。
- A Bootiful Podcast
- Foojay Podcast
- Inside Java (官方)
- Java Off Heap
- The Java Posse - 已于 2015 年 2 月停止服务。
人物
社交媒体
活跃账户以关注。来自他们社交媒体的描述。- Adam Bien - 自由撰稿人,JavaOne 明星演讲者,顾问,Java 大师。
- Aleksey Shipilëv - 性能专家,基准测试之王,并发问题猎人。
- Antonio Goncalves - Java 大师,JUG 领导者,Devoxx 法国,Java EE 6/7,JCP,作者。
- Arun Gupta - Java 大师,JavaOne 明星,JUG 领导者,Devoxx4Kids 专家,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 Security 课程作者。
- Heinz Kabutz - Java Champion,演讲者,The Java Specialists' Newsletter 作者,并发性能专家。
- Holly Cummins - IBM 伦敦 Bluemix Garage 技术主管,Java Champion,开发者,作者,JavaOne 明星。
- James Weaver - Java/JavaFX/IoT 开发者,作者和演讲者。
- Java - 官方 Java Twitter 账号。
- Javin Paul - 著名 Java 博主。
- Josh Long - Pivotal 的 Spring 倡导者,O'Reilly 的《云原生 Java》和《使用 Spring Boot 构建微服务》的作者,JavaOne 星光人物。
- Lukas Eder - Java 大师,演讲者,Data Geekery(jOOQ)的创始人和 CEO。
- Mani Sarkar - Java 冠军,多语言开发者,软件工匠,参与@graalvm 项目,专注于人工智能/机器学习/深度学习、数据科学、开发者社区,同时也是演讲者和博主。创建了几个很棒的资源列表,比如这个。
- Mario Fusco - RedHatter,JUG 协调员,频繁的演讲者和作者。
- Mark Heckler - Pivotal 首席技术专家和开发者布道师,会议演讲者,已出版作家,以及 Java 大师,专注于物联网和云计算。
- Markus Eisele - Java EE 布道师,Red Hat。
- Martijn Verburg - 伦敦 JUG 联合领导者、演讲者、作者、Java Champion,等等。
- Martin Thompson - 脸色苍白的性能恶棍。
- Monica Beckwith - 性能顾问,JavaOne 明星。
- OpenJDK - 官方 OpenJDK 账号。
- Peter Lawrey - Peter Lawrey,Java 性能专家。
- Randy Shoup - Stitch Fix 工程副总裁,演讲者,JavaOne 明星。
- Reza Rahman - Java EE/GlassFish/WebLogic 布道师,作者,演讲者,开源黑客。
- Sander Mak - Java Champion,作者。
- Simon Maple - Java Champion,VirtualJUG 创始人,LJC 领导者,RebelLabs 作者。
- Spencer Gibb - 软件工程师,父亲,极客,Pivotal 公司 Spring Cloud Core 联合创始人和负责人。
- Stephen Colebourne - Java Champion,演讲者。
- Trisha Gee - Java Champion 和演讲者。
- Venkat Subramaniam - 作者,休斯顿大学教授,微软 MVP 奖获得者,JavaOne 摇滚明星,Java 冠军。
- Vlad Mihalcea - Java 冠军,致力于 Hypersistence Optimizer 开发,数据库爱好者,著有《高性能 Java 持久化》书籍。