awesome-java-zh
Java 编程语言的优秀框架、库和软件的精选列表
https://github.com/awesome-code-resources/awesome-java-zh
Last synced: about 3 hours ago
JSON representation
-
项目
-
测试
- JUnit - 通用测试框架。
- WebTau - 使用一致的匹配程序和概念集,跨REST API,图形QL,浏览器,数据库,CLI和业务逻辑进行测试。
- Cucumber - 提供了一种以客户可以理解的简单语言描述功能的方法。
- Cukes-REST - 使用黄瓜进行REST服务测试的小黄瓜步骤集合。
- J8Spec - 遵循类似茉莉花的语法。
- Java Faker - Ruby的假数据生成器的端口。
- Mockneat - 另一个假数据生成器。
- ArchUnit - 用于指定和断言架构规则的测试库。
- AssertJ - 流利的断言,提高可读性。
- JsonUnit - 简化测试中JSON比较的库。
- TestContainers - 提供常见数据库、Selenium web浏览器或其他任何可以在Docker容器中运行的一次性实例。
- JMockit - 集成测试,API模拟和伪造以及代码覆盖率。
- Moco - 用于存根和模拟的简洁web服务。
- GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。(GPL-2.0-only)
- JUnit - 通用测试框架。
- PowerMock - 模拟静态方法,构造函数,最终类和方法,私有方法以及删除静态初始值设定项。
- JBehave - 描述故事的广泛可配置的框架。
- JGiven - 提供了一个流畅的API,允许更简单的组合。
- Apache JMeter - 功能测试和性能测量。
- Arquillian - Java EE容器的集成和功能测试平台。
- Citrus - 专注于客户端和服务器端消息传递的集成测试框架。
- Gatling - 负载测试工具专为易用性,可维护性和高性能而设计。
- jqwik - 基于JUnit 5构建的基于属性的测试引擎。
- Pact JVM - 消费者驱动的合同测试。
- PIT - 快速突变测试框架,用于评估现有JUnit或TestNG测试套件的故障检测能力。
- Hamcrest - 可以组合以创建灵活的意图表达的匹配器。
- JSONAssert - 简化测试JSON字符串。
- Truth - Google流利的断言和命题框架。
- pojo-tester - 自动对基本POJO方法执行测试。(LGPL-3.0-only)
- MockServer - 允许嘲笑与HTTPS集成的系统。
- WireMock - 存根和模拟web服务。
- Awaitility - 用于同步异步操作的DSL。
- ConcurrentUnit - 用于测试多线程和异步应用程序的工具包。
- GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。(GPL-2.0-only)
- Hoverfly Java - Hoverfly的本机绑定,它允许您模拟HTTP服务的代理。
- Karate - DSL结合了API测试自动化,模拟和性能测试,使测试REST/HTTP服务变得容易。
- REST Assured - 用于轻松测试REST/HTTP服务的DSL。
- Lamdba Behave - 旨在提供一个流利的API来编写测试长而描述性的句子,读起来像普通英语。
- Serenity BDD - 自动验收测试和报告库,与黄瓜,j行为和JUnit的工作,使它更容易编写高质量的可执行规范。
- Beanmother - 从YAML fixtures设置bean。
- Datafaker - 从Java Faker分叉的现代假数据生成器。
- Fixture Factory - 从模板生成假对象。
- jFairy - 假数据生成器。
- Instancio - 通过生成完全填充的,可重现的对象来自动执行单元测试中的数据设置。包括JUnit 5扩展。
- Randomized Testing - JUnit测试运行器和插件,用于运行具有伪随机性的JUnit测试。
- XMLUnit - 简化了XML输出的测试。
- ConsoleCaptor - 捕获用于单元测试目的的控制台输出。
- junit-dataprovider - 用于JUnit的类似TestNG的数据提供程序/运行程序。
- LogCaptor - 捕获用于单元测试目的的日志条目。
- log-capture - 捕获日志条目并为单元和集成测试提供断言。
- Mutability Detector - 报告给定类的实例是否不可变。
- raml-tester - 测试请求/响应是否与给定的RAML定义匹配。
- Selfie - 快照测试 (内联和磁盘上)。
- Mockito - Mocking框架,让您使用干净简单的API编写测试。
- EasyMock - EasyMock是一个Java库,它提供了一种在单元测试中使用Mock对象的简便方法。
-
形式验证
- Checker Framework - 可插拔型系统。包括nullness类型、物理单位、不变性类型等。(GPL-2.0-only与Classpath-exception-2.0)
- Daikon - 检测可能的程序不变量,并根据这些不变量生成JML规范。
- KeY - 正式的软件开发工具,旨在尽可能无缝地集成面向对象软件的设计,实现,正式规范和形式验证。使用JML规范和符号执行验证。(GPL-2.0-or-later)
- OpenJML - 将JML规范转换为smt-lib格式,并将程序暗示的证明问题传递给后端求解器。(GPL-2.0-only)
- CATG - Concoric单元测试引擎。使用正式方法自动生成单元测试。
- Java Path Finder (JPF) - 包含模型检查器等的JVM形式验证工具。由NASA创建。
- JMLOK 2.0 - 通过反馈导向的随机测试生成来检测代码和JML规范之间的不一致,并建议检测到的每个不一致的可能原因。(GPL-3.0-only)
-
安全
- Keycloak - 用于浏览器应用程序和RESTful web服务的集成SSO和IDM。
- jjwt - 适用于Java和Android的JSON web令牌。
- jwt-java - 轻松创建和解析JSON Web令牌,并使用fluent API创建自定义JWT验证器。
- Jwks RSA - JSON Web密钥集解析器。
- Themis - 多平台高级加密库为保护敏感数据提供易于使用的加密: 具有前向保密性的安全消息传递,安全数据存储 (AES256GCM); 适合构建端到端加密应用程序。
- Tink - 为常见的加密任务提供简单且防误用的API。
- Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
- DependencyCheck - 检测项目依赖项中包含的公开披露的漏洞。
- Keywhiz - 用于分发和管理秘密的系统。
- Nbvcxz - 高级密码强度估计。
- Apache Shiro - 执行身份验证,授权,加密和会话管理。
- Cryptomator - 云中文件的多平台,透明,客户端加密。(GPL-3.0-only)
- Passay - 通过根据可配置的规则集验证候选密码来实施密码策略。
- Topaz - 对支持RBAC、ABAC和ReBAC的应用程序进行细粒度授权。
- Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
- Hdiv - 排除OWASP Top 10中包含的应用程序安全风险的运行时应用程序,包括SQL注入,跨站点脚本,跨站点请求伪造,数据篡改和蛮力攻击。
- Kalium - 网络和密码学 (NaCl) 库的绑定。
- 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客户端。
-
实用程序
- Protégé - 提供了一个本体编辑器和一个框架来构建基于知识的系统。
- JKScope - 受Kotlin启发的Java作用域函数。
- Guava - 集合,缓存,原语支持,并发库,通用注释,字符串处理,I/O等。
- JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
- JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
- bucket4j
- 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 - 库,有助于构建困难的正则表达式。
- JGit - 实现Git版本控制系统的轻量级纯Java库。
- minio-java - 提供简单的api来访问任何Amazon S3-compatible对象存储服务器。
- Semver4j - 轻量级库,可帮助您处理不同模式的语义版本控制。
- Underscore-java - Underscore.js函数的端口。
-
CSV
- Super CSV - 强大的CSV解析器,支持Dozer,joda-time和Java 8。
- FastCSV - 性能优化,无依赖和RFC 4180兼容。
- jackson-dataformat-csv - 用于读取和写入CSV的Jackson扩展。
- uniVocity-parsers - 最快和最完整的功能解析器之一。还带有用于TSV和固定宽度记录的解析器。
-
数据结构
- RoaringBitmap - 快速和高效的压缩位图。
- Tape - 闪电般快速,事务性,基于文件的FIFO。
- SBE - 简单的二进制编码,最快的消息格式之一。
- Apache Parquet - 基于Google关于Dremel的论文中的汇编算法的列式存储格式。
- Apache Thrift - 起源于Facebook的数据交换格式。
- Big Queue - 基于内存映射文件的快速和持久队列。
- HyperMinHash-java - 用于在日志空间中计算并集,交集和集合基数的概率数据结构。
- Persistent Collection - Java集合框架的持久和不可变的模拟。
- Protobuf - Google的数据交换格式。
- Wire - 干净,轻量级的协议缓冲区。
-
数据库
- ArangoDB - ArangoDB Java驱动程序。
- eXist - NoSQL文档数据库和应用平台。(LGPL-2.1-only)
- FlexyPool - 为最常见的连接池解决方案带来指标和故障转移策略。
- HikariCP - 高性能JDBC连接池。
- HSQLDB - HyperSQL 100% Java数据库。
- Jest - Elasticsearch REST API的客户端。
- jetcd - 用于etcd的客户端库。
- Jinq - 通过符号执行Java 8 Lambdas (在JPA或jOOQ之上) 进行类型安全数据库查询。
- Leaf - 分布式ID生成服务。
- MariaDB4j - MariaDB的启动器,不需要安装或外部依赖。
- Modality - 具有数据库逆向工程功能的轻量级ORM。
- OpenDJ - 为Java平台开发的符合LDAPv3的目录服务,为身份提供高性能、高可用性和安全的存储。
- QuestDB - 用于时间序列的高性能sql数据库。支持InfluxDB line协议、PostgreSQL wire协议和REST。
- Realm - 移动数据库直接在手机,平板电脑或可穿戴设备中运行。
- Redisson - 允许在Redis服务器上使用分布式和可扩展的数据结构。
- Speedment - 利用Java 8的Stream API进行查询的数据库访问库。
- Spring Data JPA MongoDB Expressions - 允许您使用MongoDB查询语言来查询您的关系数据库。
- Xodus - 高度并发的无事务模式和符合ACID的嵌入式数据库。
- CosId - 通用,灵活,高性能的分布式ID生成器。
- Lettuce - 生菜是一个可扩展的Redis客户端,用于构建非阻塞反应式应用程序。
- Querydsl - Typesafe统一查询。
- requery - 现代,轻量级但功能强大的对象映射和SQL生成器。轻松映射或创建数据库,或从任何使用Java的平台执行查询和更新。
- Trino - 用于大数据的分布式SQL查询引擎。
- Apache Calcite - 动态数据管理框架。它包含许多组成典型数据库管理系统的部分。
- Apache Drill - 用于大数据探索的分布式模式即时ANSI SQL查询引擎。
- Apache Phoenix - HBase上的高性能关系数据库层,用于低延迟应用程序。
- Flyway - 简单的数据库迁移工具。
- JDBI - JDBC的方便抽象。
- Lettuce - 生菜是一个可扩展的Redis客户端,用于构建非阻塞反应式应用程序。
- Liquibase - 独立于数据库的库,用于跟踪,管理和应用数据库模式更改。
- Vibur DBCP - 具有高级性能监控功能的JDBC连接池库。
- Chronicle Map - 高效、内存中 (opt.持久化到磁盘) 、堆外键值存储。
- Debezium - 用于更改数据捕获的低延迟数据流平台。
- Jedis - 用于与Redis交互的小客户端,具有用于命令的方法。
- QueryStream - 使用类似流的API构建JPA标准查询。
-
日期和时间
- iCal4j - 解析和构建iCalendar[RFC 5545](https://tools.ietf.org/html/rfc5545)数据模型。
- Jollyday - 确定给定年份,国家/地区和最终州/地区的假期。
- ThreeTen-Extra - 补充JDK 8中的日期时间类。
- Time4J - 先进的日期和时间库。(LGPL-2.1-only)
-
依赖注入
- Avaje Inject - 专注于微服务的编译时注入框架,无需反射。
- Feather - 超轻量级,JSR-330-compliant依赖注入库。
- Governator - 增强Google Guice的扩展和实用程序。
- Guice - 轻量级和固执己见的框架,完成匕首。
- HK2 - 轻量级和动态依赖注入框架。
- Dagger - 没有反射的编译时注入框架。
- Inversion of Control
- JayWire - 轻量级的依赖注入框架。(LGPL-3.0-only)
-
HTTP客户端
- methanol - HTTP客户端扩展库。
- Avaje Http Client - JDK 11的HttpClient上的包装器,在其他增强功能中添加了类似Feign的界面。
- Apache HttpComponents - 专注于HTTP和相关协议的低级Java组件的工具集。
- Async Http Client - 异步HTTP和WebSocket客户端库。
- Feign - 受改造,JAXRS-2.0和WebSocket启发的HTTP客户端绑定器。
- Google HTTP Client - 支持r java.net的可插拔HTTP传输抽象。HttpURLConnection,Apache HTTP客户端,Android,Google App Engine,XML,Gson,Jackson和Protobuf。
- Retrofit - Typesafe REST客户端。
- Ribbon - 在云中经过战斗测试的客户端IPC库。
- Riptide - Spring的RestTemplate的客户端响应路由。
- unirest-java - 简化,轻量级的HTTP客户端库。
-
消息传递
- JeroMQ - ZeroMQ的实现。
- Deezpatch - 用于解耦消息 (请求和事件) 和消息处理程序的简单,轻量级和高性能的调度库。
- EventBus - 简单的发布/订阅事件总线。
- Apache ActiveMQ - 实现JMS并将同步通信转换为异步通信的Message broker。
- Apache Qpid - Apache Qpid使消息工具讲AMQP并支持多种语言和平台。
- AutoMQ - AutoMQ是一款云原生的无服务器Kafka,易于扩展,无需管理且具有成本效益。
- Aeron - 高效,可靠,单播和多播消息传输。
- Nakadi - 在Kafka之上提供一个RESTful API。
- RabbitMQ Java client - RabbitMQ客户端。
- Smack
- NATS client - NATS的客户.
-
杂项
- IP2Location.io Java SDK - IP2Location.io地理位置API和IP2WHOIS域WHOIS API的包装器。
- JPad - 片段赛跑者.
- Smooks - 基于片段的消息处理框架。(Apache-2.0或LGPL-3.0-or-later)
- AWS SDK for Java 2.0 - 围绕aws的API进行包装。
- CQEngine - Java集合上的超快速,类似SQL的查询。
- Design Patterns - 最常见的设计模式的实现和解释。
- J2ObjC - 用于将Android库移植到iOS的Java到objective-c转换器。
- Jimfs - 内存文件系统。
- PipelinR - 小型实用程序库,用于使用处理程序和带有管道的命令。
- Polyglot for Maven - Maven 3.3.1的扩展,允许用XML以外的方言编写POM模型。
- Joda-Money - JDK未提供的基本货币和货币类和算法。
- Svix - 用于Svix API的库,用于发送webhook并验证签名。
- JBake - 静态网站生成器。
- Membrane Service Proxy - 开源,反向代理框架。
- OpenRefine - 用于处理凌乱数据的工具: 清理,转换,使用web服务扩展它并将其链接到数据库。
- Togglz - 功能切换模式的实现。
- FF4J - Java的功能标志。
- FizzBuzz Enterprise Edition - 认真的商人为严肃的商业目的而制造的FizzBuzz的废话。(无明确许可)
- ISBN core - 一个小型库,其中包含ISBN-10和ISBN-13的表示对象以及用于解析,验证和格式化的工具。
- JBot - 构建聊天机器人的框架。(GPL-3.0-only)
- JCuda - JCuda为CUDA和与CUDA相关的库提供Java绑定。
- jOOX - org.w3c.dom包的简单包装器,允许使用受jQuery启发的API进行流畅的XML文档创建和操作。
- jsweet - 源转换器到TypeScript/JavaScript。
- Maven Wrapper - Maven的Gradle包装器的模拟,允许在不安装maven的情况下构建项目。
- MinimalFTP - 轻量级,小型和可定制的FTP服务器。
- LittleProxy - 在Netty的基于事件的网络库之上的高性能HTTP代理。
- Modern Java - A Guide to Java 8 - 流行的Java 8指南。
- Modernizer - 检测遗留Java api的使用。
- OctoLinker - 浏览器扩展,允许更有效地浏览GitHub上的代码。
- RR4J - RR4J是一个记录java字节码执行的工具,后来允许开发人员在本地重放。
- Simple Java Mail - 邮寄一个干净和流畅的API。
- TypeTools - 用于解析泛型类型的工具。
- XMLBeam - 通过在代码中使用注释或XPath来处理XML。
- yGuard - 通过重命名和收缩混淆。
-
联网
- ServiceTalk - 基于Netty的框架,具有针对特定协议定制的api,并支持多种编程范例。
- sshj - 以编程方式使用SSH,SCP或SFTP。
- Commons-networking - 服务器发送事件 (SSE) 的客户端。
- Comsat - 将标准的Java web相关api与Quasar纤维和actor集成在一起。
- Dubbo - 高性能RPC框架。
- Grizzly - NIO框架。在Glassfish中用作网络层。
- gRPC
- KryoNet - 使用NIO和Kryo为高效的TCP和UDP客户端/服务器网络通信提供干净简单的API。
- Drift - 易于使用,基于注释的库,用于创建节俭客户端和可序列化类型。
- TLS Channel - 在SSLEngine上实现ByteChannel接口,从而实现易于使用 (类似套接字) 的TLS。
- urnlib - 表示、解析和编码urn,如在RFC 2141中。(GPL-3.0-only)
- Fluency - 到Fluentd和Fluent Bit的高吞吐量数据摄取记录器。
-
PDF
- flyingsaucer - XML/XHTML和CSS 2.1渲染器。(LGPL-2.1-or-later)
- Apache FOP - 从xsl-fo创建pdf。
- Dynamic Jasper - JasperReports的抽象层。(LGPL-3.0-only)
- Dynamic Jasper - JasperReports的抽象层。(LGPL-3.0-only)
- DynamicReports - 简化JasperReports。(LGPL-3.0-only)
- JasperReports - 复杂的报告引擎。(LGPL-3.0-only)
- Open HTML to PDF - 正确支持基于flyingsaucer和Apache PDFBox的现代PDF标准。
- OpenPDF - 开源iText fork。(LGPL-3.0-only和MPL-2.0)
- Tabula - 从pdf文件中提取表格。
-
站台
- RDF - 可以由JVM上的系统实现的RDF 1.1的常见实现。
- Logging - 围绕各种日志API实现的包装。
- CSV - 用于读取和写入逗号分隔值文件的组件。
- Email - 从Java发送电子邮件的库。
- IO - I/O实用程序的集合。
- Lang - 为java.lang中的类提供额外的功能。
- OGNL - 对象图导航语言。
- OpenPGP - 使用OpenPGP对数据进行签名和验证的接口。
- Performance - 用于微基准客户端的小型框架,实现了Commons DBCP和Pool。
- Pipeline - 提供一组围绕工作队列设计的管道实用程序,这些工作队列并行运行以按顺序处理数据对象。
- Pool - 通用对象池组件。
- Proxy - 用于创建动态代理的库。
- SCXML - 旨在创建和维护Java SCXML引擎的状态图XML规范的实现。
- Validator - 在xml文件中定义验证器和验证规则的框架。
- VFS - 虚拟文件系统组件,用于将文件,FTP,SMB,ZIP等视为单个逻辑文件系统。
- Weaver - 提供一种简单的方法来增强 (编织) 编译的字节码。
- Orienteer - 用于快速配置/开发CRM,ERP,LMS和其他应用程序的开源业务应用程序平台。
- Light-4J - 内置的快速,轻量级和高效的微服务框架[security](https://github.com/networknt/light-oauth2/)。
- RNG - Commons Rng提供伪随机数生成器的实现。
- Spring - 提供了许多用于依赖注入,面向方面编程,安全性等的软件包。
-
REST框架
- Restlet Framework - 具有强大路由和过滤功能以及统一的客户端和服务器API的开创性框架。
- springdoc-openapi - 使用Spring Boot项目自动生成API文档。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
- Elide - 基于JPA数据模型的JSON或GraphQL api的自以为是的框架。
- Jersey - JAX-RS参考实现。
- Rapidoid - 简单,安全和非常快速的框架,包括嵌入式HTTP服务器,GUI组件和依赖注入。
- RESTEasy - JAX-RS规范的完全认证和可移植实现。
- Spark - Sinatra启发框架。
- Swagger - REST api的标准语言无关接口。
- Dropwizard - 自以为是的框架,用于使用Jetty,Jackson,Jersey和Metrics设置现代web应用程序。
- Microserver - 用于Spring和Spring Boot的方便,可扩展的微服务插件系统。它拥有30多个插件,并且还在不断增长,它支持微单体和纯微服务风格。
- rest.li - 用于使用类型安全绑定和异步,非阻塞IO构建强大,可扩展的RESTful架构的框架,具有端到端开发人员工作流程,可促进清洁实践,统一接口设计和一致的数据建模。
- RestExpress - JBoss Netty HTTP堆栈上的薄包装器,可提供缩放和性能。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
-
科学
- DataMelt - 科学计算,数据分析和数据可视化的环境。(GPL-3.0-or-later)
- JGraphT - 提供数学图论对象和算法的图库。
- BioJava - 通过提供生物信息学中常用的算法,文件格式解析器,测序和3D可视化,促进处理生物数据。
- Chart-FX - 科学图表库,重点是针对大型数据集以25 hz的更新速率进行性能优化的实时数据可视化。
- Erdos - 用于理论算法的模块化,轻便和简单的图形框架。
- Mines Java Toolkit - 用于地球物理科学计算,可视化和数字信号分析的库。
- XChart - 用于绘制数据的轻量级库。有许多可自定义的图表类型。
- Orekit - 一个低级别的太空飞行动力学库,提供基本元素 (轨道,日期,姿态,帧...) 和各种算法 (转换,传播,指向...) 来处理它们。
- GraphStream - 用于建模和分析动态图的库。
- JFreeChart - 用于Swing,JavaFX和服务器端应用程序的2D图表库。(LGPL-2.1-only)
- JGraphX - 用于可视化 (主要是摆动) 和与节点边图交互的库。
- LogicNG - 用于创建,操作和解决布尔和伪布尔公式的库。
- Morpheus - 提供了一种通用的二维内存高效表格数据结构,称为DataFrame,以实现高效的内存分析,用于JVM上的科学计算。
- Orson-Charts - 生成各种3D图表,可以使用Swing和JavaFX显示或导出为PDF,SVG,PNG和JPEG。(GPL-3.0-only)
- Tablesaw - 包括一个数据框、一个嵌入式列存储以及数百种用于转换、汇总或过滤数据的方法。
-
序列化
- FlatBuffers - 内存高效的序列化库,可以访问序列化数据,而无需解包和解析。
- Fury - 由JIT和零拷贝提供支持的快速对象图序列化框架。
- FST - JDK兼容,高性能对象图序列化。
- Kryo
- MessagePack - 高效的二进制序列化格式。
- PHP Serializer - 以PHP序列化格式序列化对象。
-
模板引擎
- jte - 编译为类,并使用简单的语法,几个功能,使开发更容易,并提供快速执行和占地面积小。
- Jtwig - 模块化,可配置和完全测试的模板引擎。
- Rocker - 优化,内存高效和快速的模板引擎产生静态类型,普通对象。
- StringTemplate - 用于生成源代码,网页,电子邮件或任何其他格式化文本输出的模板引擎。
- Handlebars.java - 无逻辑和语义胡子模板。
- Freemarker - 基于模板和更改数据生成文本输出 (HTML网页,电子邮件,配置文件,源代码等) 的库。
- Pebble - 受Twig的启发,并以其继承功能和易于阅读的语法将自己分开。它配备了内置的自动逃逸安全性,并包括对国际化的集成支持。
- Thymeleaf - 旨在替代JSP并适用于XML文件。
- Jade4J - 实施Pug (以前称为Jade)。
- Jamal - 嵌入到Maven/JavaDoc中的可扩展模板引擎,支持多个扩展 (Groovy,Ruby,JavaScript,JShell,PlantUml),并支持代码段处理。
- jstachio - Typesafe Mustache模板引擎。
-
Web框架
- Blade - 轻量级的模块化框架,旨在优雅和简单。
- ActiveJ - 为开发高性能web应用程序而从头开始构建的轻量级异步框架。
- Pippo - 小型、高度模块化、类似Sinatra的框架。
- Javalin - web应用程序的微框架。
- Jooby - 可扩展,快速和模块化的微框架,提供多种编程模型。
- Ninja - 全栈web框架。
- Play - 基于Akka构建,它为Java和Scala中的高度可扩展应用程序提供了可预测且最小的资源消耗 (CPU,内存,线程)。
- PrimeFaces - 具有免费和商业/支持版本以及前端组件的JSF框架。
- Ratpack - 一组库,可促进快速,高效,可发展且经过良好测试的HTTP应用程序。
- Apache Tapestry - 面向组件的框架,用于创建动态,健壮,高度可扩展的web应用程序。
- Apache Wicket - 基于组件的web应用程序框架,类似于Tapestry,具有有状态的GUI。
- Bootique - 可运行应用程序的最小自以为是的框架。
- Firefly - 用于快速开发高性能web应用程序的异步框架。
- Takes - 固执己见的web框架,围绕真正的面向对象编程和不变性的概念构建。
- Vaadin - 使用标准web组件的事件驱动框架。在客户端使用Ajax的服务器端架构。
-
字节码操作
- Recaf - JVM逆向工程工具包,本质上是Java字节码的IDE。
- Perses - 根据混沌工程的原理在字节码级别动态注入故障/延迟。
- bytecode-viewer - Java 8 Jar & Android APK逆向工程套件。(GPL-3.0-only)
- Maker - 提供低级别的字节码生成。
- Mixin - 使用真正的Java代码在运行时操作字节码。
- ASM - 通用,低级别的字节码操作和分析。
- Byte Buddy - 使用fluent API进一步简化字节码生成。
- Byteman - 通过DSL (规则) 在运行时操纵字节码; 主要用于测试/故障排除。(LGPL-2.1-or-later)
- cglib - 字节码生成库。
- Javassist - 试图简化字节码编辑。
- Perses - 根据混沌工程的原理在字节码级别动态注入故障/延迟。
-
分布式应用程序
- Quasar - JVM的轻量级线程和actor。
- JGroups - 用于可靠消息传递和集群创建的工具包。
- resilience4j
- Atomix
- Failsafe - 简单的故障处理与重试和断路器。
- Apache Geode - 内存数据管理系统,提供可靠的异步事件通知和有保证的消息传递。
- Apache Storm - 实时计算系统。
- Apache ZooKeeper - 具有大型分布式系统的分布式配置,同步和命名注册表的协调服务。
- Axon - 用于创建CQRS应用程序的框架。
- Dropwizard Circuit Breaker - Dropwizard的断路器设计模式。(GPL-2.0-only)
- Hazelcast - 具有免费开源版本的高度可扩展的内存datagrid。
- OpenIG - 具有专用会话管理和凭证重放功能的高性能反向代理服务器。
- ScaleCube Services - 基于SWIM和gossip协议的嵌入式集群成员库。
- Zuul - 提供动态路由、监控、弹性、安全性等功能的网关服务。
-
文档处理
- documents4j - 使用第三方转换器 (如MS Word) 进行文档格式转换的API。
- docx4j - 创建和操作Microsoft Open XML文件。
- Apache POI - 支持OOXML (XLSX,DOCX,PPTX) 以及OLE2 (XLS,DOC或PPT)。
- fastexcel - 高性能库读取和写入大型Excel (XLSX) 工作表。
- zerocell - 基于注释的API,用于将数据从Excel工作表读取到pojo中,重点是减少开销。
-
游戏开发
- Litiengine - 基于AWT的轻量级2D游戏引擎。
- JBox2D - 著名的C 2D物理引擎的端口。
- jMonkeyEngine - 现代3D开发的游戏引擎。
- libGDX - 全方位跨平台,高层次的框架。
- Mini2Dx - 初学者友好,掌握快速原型和构建2D游戏的框架。
- Void2D - 基于Swing的内置物理的高级2D游戏引擎。
- FXGL
- JBox2D - 著名的C 2D物理引擎的端口。
-
GUI
- SWT - 图形小部件工具包。
- SWT - 图形小部件工具包。
- JavaFX - Swing的继任者.
- Scene Builder - 用于JavaFX应用程序的可视化布局工具。
- SnapKit - 用于桌面和web的现代Java UI库。
-
JSON
- Avaje Jsonb - 通过使用类似Jackson的注释生成源代码进行无反射的Json绑定。
- DSL-JSON - 具有高级编译时数据绑定的JSON库。
- HikariJSON - 高性能JSON解析器,比杰克逊快2倍。
- Jolt - JSON到JSON转换工具。
- JsonPath - 使用类似XPATH的语法从JSON中提取数据。
- Jackson - 与GSON类似,但如果您需要更频繁地实例化库,则可以提供性能提升。
- jsoniter - 快速和灵活的库与迭代器和惰性解析API。
- JsonSurfer - 流JsonPath处理器专用于处理大而复杂的JSON数据。
- Genson - 功能强大且易于使用的Java到JSON转换库。
- Gson - 将对象序列化为JSON,反之亦然。良好的性能与飞行使用。
- jackson-modules-java8 - 用于Java 8数据类型和功能的Jackson模块集。
- Jackson-datatype-money - 开源Jackson模块,支持JavaMoney数据类型的JSON序列化和反序列化。
- JSON-io - 将Java转换为JSON。将JSON转换为Java。漂亮的打印JSON。Java JSON序列化程序。
- LoganSquare - 基于Jackson的流API的JSON解析和序列化库。胜过GSON & Jackson的图书馆。
- Moshi - 现代JSON库,不太固执己见,并使用内置类型,如列表和地图。
- Yasson - 类和JSON文档之间的绑定层,类似于JAXB。
- fastjson - 非常快速的处理器,没有额外的依赖关系和完整的数据绑定。
-
监测
- hippo4j - 动态和可观察的线程池框架。
- Automon - 将AOP的功能与监视和/或日志记录工具相结合。
- Dropwizard Metrics - 通过JMX或HTTP公开指标,并将其发送到数据库。
- Failsafe Actuator - Spring-Boot环境中的故障安全断路器的开箱即用监控。
- HertzBeat - 具有自定义监视器和无代理功能的实时监视系统。
- Jaeger client - Jaeger客户.
- nudge4j - 通过字节码注入从Java 8浏览器远程开发人员控制台。
- Sysmon - 用于Java vm的轻量级平台监控工具。
- Glowroot - 开源Java APM。
- inspectIT - 通过钩子捕获详细的运行时信息,可以在飞行中更改。它支持通过OpenTracing API跟踪多个系统,并可以将数据与最终用户监控相关联。
- Jolokia - JMX over REST.
- JavaMelody - 性能监控和分析。
- jmxtrans - 连接到多个jvm并通过JMX查询它们的属性。它的查询语言基于JSON,允许非Java程序员访问JVM属性。支持不同的输出写入,包括Graphite、Ganglia和StatsD。
- Micrometer - 供应商中立的度量/可观察性外观,用于最受欢迎的度量/可观察性库。
- Micrometer Tracing - 供应商中立的分布式跟踪facade,用于最流行的跟踪器库。
- Pinpoint - 开源APM工具。
- Prometheus - 提供多维数据模型,DSL,自治服务器节点等等。
- Stagemonitor - JVM应用程序的开源性能监控和事务跟踪。
-
性能分析
- GCeasy 。
- Airline - 基于注释的框架,用于解析类似Git的命令行参数。
- JCommander - 命令行参数解析框架与自定义类型和验证通过实现接口。
- picocli - 使用ANSI颜色和样式有助于基于注释的POSIX/GNU/any语法,子命令,选项和位置参数的强类型。
- Text-IO - 帮助创建完整的基于控制台的应用程序。
- Lanterna - 简单的控制台文本GUI库,类似于诅咒。(LGPL-3.0-only)
-
IDE
- SnapCode - 用于在浏览器中运行的Java的现代IDE,专注于教育。
- jGRASP - 创建以提供与调试器一起工作的软件可视化,例如控制结构图,UML类图和对象查看器。
- NetBeans - 提供几个Java SE和EE功能的集成,从数据库访问到html5。
- Visual Studio Code - 通过使用内部市场的扩展,为轻量级项目提供Java支持,并提供简单的现代工作流。
-
约束满足问题求解器
- OptaPlanner - 业务计划和资源调度优化求解器。
- Timefold - 具有Spring/Quarkus支持和快速入门的灵活求解器,用于解决车辆路线问题,维护计划,员工轮班计划等。
- Choco - 使用约束编程技术的现成的约束满足问题求解器。
- OptaPlanner - 业务计划和资源调度优化求解器。
- Timefold - 具有Spring/Quarkus支持和快速入门的灵活求解器,用于解决车辆路线问题,维护计划,员工轮班计划等。
- JaCoP - 包括FlatZinc语言的接口,使其能够执行MiniZinc模型。(AGPL-3.0)
-
代码覆盖率
-
缓存
- cache2k - 内存中的高性能缓存库。
- Infinispan - 用于缓存的高度并发的键/值数据存储。
- Caffeine - 高性能,接近最佳的缓存库。
-
编译器-编译器
-
计算机视觉
-
发展
- AspectJ - 无缝的面向方面的编程扩展。
- Faux Pas - 库,通过规避默认情况下不允许Java运行时中的任何函数式接口抛出检查异常的问题,简化了错误处理。
- HotswapAgent - 无限的运行时类和资源重新定义。(GPL-2.0-only)
- JavaParser - 解析,修改和生成Java代码。
- JavaSymbolSolver - 符号求解器。
- Manifold - 重新激发Java强大的功能,如类型安全元编程,结构类型和扩展方法。
- NoException - 允许在函数式接口中检查异常,并将异常转换为可选返回。
- SneakyThrow - 忽略没有字节码操作的检查异常。也可以在Java 8流操作中使用。
- Tail - 使用尾调用优化启用无限递归。
-
分布式事务
-
函数式编程
- Vavr - 提供持久数据类型和功能控制结构的功能组件库。
- Cyclops - Monad和流实用程序,理解,模式匹配,所有JDK集合的功能扩展,未来流,蹦床等等。
- derive4j - Java 8注释处理器和框架,用于导出代数数据类型构造函数,模式匹配和态射。(GPL-3.0-only)
- Fugue - 番石榴的功能扩展。
- Functional Java - 实现了许多基本和高级编程抽象,有助于面向组合的开发。
- jOOλ - Java 8的扩展,旨在通过提供大量缺失的类型和一组丰富的顺序流API添加来修复lambda中的差距。
- protonpack - 流实用程序的集合。
- StreamEx - 增强Java 8流。
-
地理空间
- Apache SIS - 开发地理空间应用程序的图书馆。
- GeoTools - 提供地理空间数据工具的库。(LGPL-2.1-only)
- H2GIS - H2数据库的空间扩展。(LGPL-3.0-only)
- Geo - Java中的GeoHash实用程序。
- GraphHopper - 道路路由引擎。用作Java库或独立的web服务。
- Jgeohash - 使用GeoHash算法的库。
- Mapsforge - 3.0-only)
- Spatial4j - 通用空间/地理空间图书馆。
-
高性能
-
移动开发
- MobileUI - 跨平台框架,用于在Java和Kotlin中开发具有本机UI的移动应用程序。
- Multi-OS Engine - 开源,跨平台引擎,用于开发本地移动 (iOS,Android等) 应用程序。
-
搜索
- Apache Lucene - 高性能,全功能,跨平台,文本搜索引擎库。
- Apache Solr - 针对高流量优化的企业搜索引擎。
- Elasticsearch - 分布式,支持多租户的全文搜索引擎,具有RESTful web界面和无架构的JSON文档。
- Indexer4j - 简单而轻便的全文索引和搜索库。
-
工作流编排引擎
-
-
资源
-
人
- Java EE - 官方Java EE Twitter帐户。
- Java Magazine - 官方Java杂志帐户。
- Mario Fusco - RedHatter,JUG协调员,经常演讲和作者。
- Markus Eisele - Java EE布道者,Red Hat。
- Martin Thompson - 面对表演黑帮。
- Monica Beckwith - 性能顾问,JavaOne摇滚明星。
- OpenJDK - 官方OpenJDK帐户。
- Reza Rahman - Java EE/GlassFish/WebLogic布道者,作者,演讲者,开源黑客。
- Sander Mak - Java冠军,作者。
- Simon Maple - Java冠军,VirtualJUG创始人,LJC领导者,RebelLabs作者。
- Spencer Gibb - 软件工程师,爸爸,极客,Spring Cloud Core @ pivotal的联合创始人兼负责人。
- Trisha Gee - Java冠军和演讲者。
- Venkat Subramaniam - 作者,休斯顿大学教授,微软MVP奖获得者,JavaOne摇滚明星,Java冠军。
- Vlad Mihalcea - Java冠军致力于Hypersistence优化器,数据库爱好者,高性能Java持久性书籍的作者。
- Aleksey Shipilëv - 性能极客,基准沙皇,并发bug猎人。
- Brian Goetz - Oracle的Java语言架构师。
- Bruno Borges - Oracle的产品经理/Java Jock。
- Chris Engelbert - 开源爱好者,演讲者,开发人员,TimescaleDB的开发人员倡导。
- Chris Richardson - 软件架构师,顾问和系列企业家,Java冠军,JavaOne摇滚明星,* POJOs in Action- author。
- Eugen Paraschiv - 春季安全课程的作者。
- Heinz Kabutz - Java冠军,演讲者,Java专家通讯的作者,并发性能专家。
- Holly Cummins - IBM伦敦Bluemix车库技术负责人,Java冠军,JavaOne rockstar开发人员,作者。
- James Weaver - Java/JavaFX/IoT开发人员,作者和演讲者。
- Java Magazine - 官方Java杂志帐户。
- Javin Paul - 著名的Java博客。
- Lukas Eder - Java冠军、演讲者、创始人兼首席执行官数据极客 (jOOQ)。
- Mario Fusco - RedHatter,JUG协调员,经常演讲和作者。
- Mark Reinhold - Oracle Java平台组首席架构师。
- Markus Eisele - Java EE布道者,Red Hat。
- Martijn Verburg - 伦敦JUG联合负责人,演讲者,作者,Java冠军等等。
- 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冠军,作者。
- Simon Maple - Java冠军,VirtualJUG创始人,LJC领导者,RebelLabs作者。
- Spencer Gibb - 软件工程师,爸爸,极客,Spring Cloud Core @ pivotal的联合创始人兼负责人。
- Trisha Gee - Java冠军和演讲者。
- Venkat Subramaniam - 作者,休斯顿大学教授,微软MVP奖获得者,JavaOne摇滚明星,Java冠军。
- Vlad Mihalcea - Java冠军致力于Hypersistence优化器,数据库爱好者,高性能Java持久性书籍的作者。
- Josh Long - Pivotal的Spring倡导者,O'Reilly's Cloud Native Java的作者-以及使用JavaOne摇滚明星Spring Boot构建微服务。
- Randy Shoup - Stitch Fix工程副总裁,扬声器,JavaOne摇滚明星。
- Groundbreakers - 甲骨文王牌,开创性大使和Java冠军。
- Mani Sarkar - Java冠军,多语言,涉及 @ graalvm,AI/ML/DL,数据科学,开发人员社区,演讲者和博客的软件工匠。像这样的几个令人敬畏的列表的创建者。
- Ed Burns - Oracle技术人员的咨询成员。
- Josh Long - Pivotal的Spring倡导者,O'Reilly's Cloud Native Java的作者-以及使用JavaOne摇滚明星Spring Boot构建微服务。
- Mark Heckler - Pivotal首席技术专家和开发人员倡导者,会议发言人,出版作者和Java冠军,专注于物联网和云。
- Stephen Colebourne - Java冠军,演讲者.
- Brian Goetz - Oracle的Java语言架构师。
- Bruno Borges - Oracle的产品经理/Java Jock。
- Chris Engelbert - 开源爱好者,演讲者,开发人员,TimescaleDB的开发人员倡导。
- Heinz Kabutz - Java冠军,演讲者,Java专家通讯的作者,并发性能专家。
- James Weaver - Java/JavaFX/IoT开发人员,作者和演讲者。
- Lukas Eder - Java冠军、演讲者、创始人兼首席执行官数据极客 (jOOQ)。
- Mani Sarkar - Java冠军,多语言,涉及 @ graalvm,AI/ML/DL,数据科学,开发人员社区,演讲者和博客的软件工匠。像这样的几个令人敬畏的列表的创建者。
- Mark Heckler - Pivotal首席技术专家和开发人员倡导者,会议发言人,出版作者和Java冠军,专注于物联网和云。
- Mark Reinhold - Oracle Java平台组首席架构师。
- Martijn Verburg - 伦敦JUG联合负责人,演讲者,作者,Java冠军等等。
- Peter Lawrey - Peter Lawrey,Java性能专家。
- Stephen Colebourne - Java冠军,演讲者.
- Adam Bien - 自由作家,JavaOne Rockstar演讲者,顾问,Java冠军。
- Aleksey Shipilëv - 性能极客,基准沙皇,并发bug猎人。
- Antonio Goncalves - Java冠军,JUG领导者,Devoxx法国,Java EE 6/7,JCP,作者。
- Arun Gupta - Java冠军,JavaOne Rockstar,JUG负责人,Devoxx4Kids-er,Couchbase开发人员倡导副总裁。
- Chris Richardson - 软件架构师,顾问和系列企业家,Java冠军,JavaOne摇滚明星,* POJOs in Action- author。
- Ed Burns - Oracle技术人员的咨询成员。
- Eugen Paraschiv - 春季安全课程的作者。
- Holly Cummins - IBM伦敦Bluemix车库技术负责人,Java冠军,JavaOne rockstar开发人员,作者。
- Java - 官方Java Twitter帐户。
- Javin Paul - 著名的Java博客。
-
网站
-
播客和截屏
- The Java Council
- 140 Second Ducklings - 在Twitter上的短视频深入解释Java调试。
- 140 Second Ducklings - 在Twitter上的短视频深入解释Java调试。
- A Bootiful Podcast
- Inside Java
- Java Off Heap
- Foojay Podcast
- The Java Posse - 截至02/2015已停产。
-
有影响力的书籍
-
社区
- r/java - Subreddit的Java社区。
- Stack Overflow - 问题/答案平台。
-
相关的真棒列表
-
前端
-
-
贡献
-
网站
- CONTRIBUTING - java-lint)。
-
Programming Languages
Sub Categories
人
72
测试
55
数据库
35
杂项
34
安全
24
实用程序
21
站台
20
网站
18
监测
18
REST框架
18
JSON
17
科学
15
Web框架
15
机器学习
15
分布式应用程序
14
相关的真棒列表
13
日志记录
12
代码分析
12
JVM和JDK
12
联网
12
代码生成器
11
字节码操作
11
模板引擎
11
微服务
11
配置
11
分布
11
消息传递
11
数据结构
10
HTTP客户端
10
PDF
9
发展
9
CLI
9
Bean映射
9
函数式编程
8
地理空间
8
播客和截屏
8
游戏开发
8
依赖注入
8
有影响力的书籍
7
内省
7
作业调度
7
形式验证
7
高性能
7
服务器
6
序列化
6
ORM
6
财务
6
约束满足问题求解器
6
性能分析
6
图像
6
文档处理
5
Web爬行
5
GUI
5
原生
4
反应式库
4
日期和时间
4
IDE
4
CSV
4
搜索
4
分布式事务
4
计算机视觉
3
版本管理器
3
缓存
3
工作流编排引擎
3
流程
3
构建
3
代码覆盖率
3
超媒体类型
3
编译器-编译器
3
自然语言处理
3
社区
2
移动开发
2
前端
1
Keywords
java
192
jvm
13
android
13
testing
13
kotlin
12
spring-boot
12
microservices
12
spring
12
static-analysis
11
monitoring
10
java-library
9
json
9
http
9
database
8
annotation-processor
7
xml
7
awesome
7
static-code-analysis
6
javafx
6
high-performance
6
machine-learning
6
library
6
jdbc
6
rest
6
rpc
6
metrics
6
javascript
6
java-8
6
configuration
5
groovy
5
grpc
5
sql
5
reactive-streams
5
gradle
5
test-automation
5
scheduler
5
rest-api
5
framework
5
serialization
5
junit
5
java8
5
awesome-list
5
cloud-native
5
c
5
ast
4
asynchronous
4
reactive
4
testing-tools
4
jackson
4
annotations
4