awesome-java-zh
Java 编程语言的优秀框架、库和软件的精选列表
https://github.com/awesome-code-resources/awesome-java-zh
Last synced: 4 days ago
JSON representation
-
项目
-
杂项
- JPad - 片段赛跑者.
- AWS SDK for Java 2.0 - 围绕aws的API进行包装。
- 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转换器。
- JBot - 构建聊天机器人的框架。(GPL-3.0-only)
- JCuda - JCuda为CUDA和与CUDA相关的库提供Java绑定。
- Jimfs - 内存文件系统。
- 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上的代码。
- PipelinR - 小型实用程序库,用于使用处理程序和带有管道的命令。
- Polyglot for Maven - Maven 3.3.1的扩展,允许用XML以外的方言编写POM模型。
- RR4J - RR4J是一个记录java字节码执行的工具,后来允许开发人员在本地重放。
- Simple Java Mail - 邮寄一个干净和流畅的API。
- Smooks - 基于片段的消息处理框架。(Apache-2.0或LGPL-3.0-or-later)
- TypeTools - 用于解析泛型类型的工具。
- XMLBeam - 通过在代码中使用注释或XPath来处理XML。
- yGuard - 通过重命名和收缩混淆。
- Joda-Money - JDK未提供的基本货币和货币类和算法。
- Svix - 用于Svix API的库,用于发送webhook并验证签名。
-
监测
- Pinpoint - 开源APM工具。
- hippo4j - 动态和可观察的线程池框架。
- Automon - 将AOP的功能与监视和/或日志记录工具相结合。
- Dropwizard Metrics - 通过JMX或HTTP公开指标,并将其发送到数据库。
- Failsafe Actuator - Spring-Boot环境中的故障安全断路器的开箱即用监控。
- HertzBeat - 具有自定义监视器和无代理功能的实时监视系统。
- Jaeger client - Jaeger客户.
- JavaMelody - 性能监控和分析。
- jmxtrans - 连接到多个jvm并通过JMX查询它们的属性。它的查询语言基于JSON,允许非Java程序员访问JVM属性。支持不同的输出写入,包括Graphite、Ganglia和StatsD。
- Micrometer - 供应商中立的度量/可观察性外观,用于最受欢迎的度量/可观察性库。
- Micrometer Tracing - 供应商中立的分布式跟踪facade,用于最流行的跟踪器库。
- nudge4j - 通过字节码注入从Java 8浏览器远程开发人员控制台。
- Prometheus - 提供多维数据模型,DSL,自治服务器节点等等。
- Stagemonitor - JVM应用程序的开源性能监控和事务跟踪。
- Sysmon - 用于Java vm的轻量级平台监控工具。
-
ORM
- Ebean - 提供简单和快速的数据访问。
- Doma - 数据库访问框架,在编译时使用注释处理以及称为双向SQL的本机SQL模板来验证和生成源代码。
- MyBatis - 将对象与存储过程或SQL语句耦合。
- ObjectiveSql - ActiveRecord ORM用于快速开发和convention over configuration。
- Permazen - 语言-自然持久层。
- SimpleFlatMapper - 简单的数据库和CSV映射器。
-
PDF
- Eclipse BIRT - 使用基于Eclipse的可视化编辑器创建PDF和其他格式 (DOCX,XLSX,HTML等) 的报告引擎。
- 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)
- flyingsaucer - XML/XHTML和CSS 2.1渲染器。(LGPL-2.1-or-later)
- 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文件中提取表格。
-
搜索
- Apache Solr - 针对高流量优化的企业搜索引擎。
- Elasticsearch - 分布式,支持多租户的全文搜索引擎,具有RESTful web界面和无架构的JSON文档。
- Indexer4j - 简单而轻便的全文索引和搜索库。
-
测试
- JUnit - 通用测试框架。
- GreenMail - 用于集成测试的内存电子邮件服务器。支持SMTP,POP3和IMAP,包括SSL。(GPL-2.0-only)
- JUnit - 通用测试框架。
- 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。
- WebTau - 使用一致的匹配程序和概念集,跨REST API,图形QL,浏览器,数据库,CLI和业务逻辑进行测试。
- Cucumber - 提供了一种以客户可以理解的简单语言描述功能的方法。
- Cukes-REST - 使用黄瓜进行REST服务测试的小黄瓜步骤集合。
- J8Spec - 遵循类似茉莉花的语法。
- JBehave - 描述故事的广泛可配置的框架。
- Lamdba Behave - 旨在提供一个流利的API来编写测试长而描述性的句子,读起来像普通英语。
- Serenity BDD - 自动验收测试和报告库,与黄瓜,j行为和JUnit的工作,使它更容易编写高质量的可执行规范。
- Beanmother - 从YAML fixtures设置bean。
- Datafaker - 从Java Faker分叉的现代假数据生成器。
- Fixture Factory - 从模板生成假对象。
- jFairy - 假数据生成器。
- Instancio - 通过生成完全填充的,可重现的对象来自动执行单元测试中的数据设置。包括JUnit 5扩展。
- Randomized Testing - JUnit测试运行器和插件,用于运行具有伪随机性的JUnit测试。
- Java Faker - Ruby的假数据生成器的端口。
- Mockneat - 另一个假数据生成器。
- ArchUnit - 用于指定和断言架构规则的测试库。
- AssertJ - 流利的断言,提高可读性。
- JsonUnit - 简化测试中JSON比较的库。
- XMLUnit - 简化了XML输出的测试。
- ConsoleCaptor - 捕获用于单元测试目的的控制台输出。
- junit-dataprovider - 用于JUnit的类似TestNG的数据提供程序/运行程序。
- LogCaptor - 捕获用于单元测试目的的日志条目。
- log-capture - 捕获日志条目并为单元和集成测试提供断言。
- Mutability Detector - 报告给定类的实例是否不可变。
- pojo-tester - 自动对基本POJO方法执行测试。(LGPL-3.0-only)
- raml-tester - 测试请求/响应是否与给定的RAML定义匹配。
- Selfie - 快照测试 (内联和磁盘上)。
- TestContainers - 提供常见数据库、Selenium web浏览器或其他任何可以在Docker容器中运行的一次性实例。
- JMockit - 集成测试,API模拟和伪造以及代码覆盖率。
- Mockito - Mocking框架,让您使用干净简单的API编写测试。
- Moco - 用于存根和模拟的简洁web服务。
- PowerMock - 模拟静态方法,构造函数,最终类和方法,私有方法以及删除静态初始值设定项。
- EasyMock - EasyMock是一个Java库,它提供了一种在单元测试中使用Mock对象的简便方法。
-
Web框架
-
字节码操作
-
代码覆盖率
-
数据库
- Lettuce - 生菜是一个可扩展的Redis客户端,用于构建非阻塞反应式应用程序。
- ArangoDB - ArangoDB Java驱动程序。
- Chronicle Map - 高效、内存中 (opt.持久化到磁盘) 、堆外键值存储。
- Debezium - 用于更改数据捕获的低延迟数据流平台。
- 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的目录服务,为身份提供高性能、高可用性和安全的存储。
- QueryStream - 使用类似流的API构建JPA标准查询。
- 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生成器。
- Querydsl - Typesafe统一查询。
- requery - 现代,轻量级但功能强大的对象映射和SQL生成器。轻松映射或创建数据库,或从任何使用Java的平台执行查询和更新。
- Jedis - 用于与Redis交互的小客户端,具有用于命令的方法。
- Trino - 用于大数据的分布式SQL查询引擎。
-
分布式应用程序
- Quasar - JVM的轻量级线程和actor。
- JGroups - 用于可靠消息传递和集群创建的工具包。
- resilience4j
- OpenIG - 具有专用会话管理和凭证重放功能的高性能反向代理服务器。
- ScaleCube Services - 基于SWIM和gossip协议的嵌入式集群成员库。
- Zuul - 提供动态路由、监控、弹性、安全性等功能的网关服务。
- Dropwizard Circuit Breaker - Dropwizard的断路器设计模式。(GPL-2.0-only)
- Hazelcast - 具有免费开源版本的高度可扩展的内存datagrid。
- Atomix
- Failsafe - 简单的故障处理与重试和断路器。
-
文档处理
- documents4j - 使用第三方转换器 (如MS Word) 进行文档格式转换的API。
- docx4j - 创建和操作Microsoft Open XML文件。
- fastexcel - 高性能库读取和写入大型Excel (XLSX) 工作表。
- zerocell - 基于注释的API,用于将数据从Excel工作表读取到pojo中,重点是减少开销。
-
游戏开发
- Litiengine - 基于AWT的轻量级2D游戏引擎。
- JBox2D - 著名的C 2D物理引擎的端口。
- FXGL
- JBox2D - 著名的C 2D物理引擎的端口。
-
高性能
-
HTTP客户端
- Apache HttpComponents - 专注于HTTP和相关协议的低级Java组件的工具集。
- Retrofit - Typesafe REST客户端。
- 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。
- methanol - HTTP客户端扩展库。
- Ribbon - 在云中经过战斗测试的客户端IPC库。
- Riptide - Spring的RestTemplate的客户端响应路由。
- unirest-java - 简化,轻量级的HTTP客户端库。
-
GUI
- JavaFX - Swing的继任者.
- Scene Builder - 用于JavaFX应用程序的可视化布局工具。
- SWT - 图形小部件工具包。
- SnapKit - 用于桌面和web的现代Java UI库。
-
形式验证
- Daikon - 检测可能的程序不变量,并根据这些不变量生成JML规范。
- CATG - Concoric单元测试引擎。使用正式方法自动生成单元测试。
- Java Path Finder (JPF) - 包含模型检查器等的JVM形式验证工具。由NASA创建。
- JMLOK 2.0 - 通过反馈导向的随机测试生成来检测代码和JML规范之间的不一致,并建议检测到的每个不一致的可能原因。(GPL-3.0-only)
-
JSON
- Avaje Jsonb - 通过使用类似Jackson的注释生成源代码进行无反射的Json绑定。
- Gson - 将对象序列化为JSON,反之亦然。良好的性能与飞行使用。
- DSL-JSON - 具有高级编译时数据绑定的JSON库。
- HikariJSON - 高性能JSON解析器,比杰克逊快2倍。
- 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的图书馆。
- Yasson - 类和JSON文档之间的绑定层,类似于JAXB。
- fastjson - 非常快速的处理器,没有额外的依赖关系和完整的数据绑定。
- Jolt - JSON到JSON转换工具。
- JsonPath - 使用类似XPATH的语法从JSON中提取数据。
- Moshi - 现代JSON库,不太固执己见,并使用内置类型,如列表和地图。
- Genson - 功能强大且易于使用的Java到JSON转换库。
- Jackson - 与GSON类似,但如果您需要更频繁地实例化库,则可以提供性能提升。
-
性能分析
- GCeasy 数据模型。
- Jollyday - 确定给定年份,国家/地区和最终州/地区的假期。
- ThreeTen-Extra - 补充JDK 8中的日期时间类。
-
图像
- ZXing - 多格式1D/2D条码图像处理库。
- Imgscalr - 在纯Java 2D中实现的简单,高效和硬件加速的图像缩放库。
- Tess4J - Tesseract OCR API的JNA包装器。
- Thumbnailator - 高质量的缩略图生成库。
- TwelveMonkeys - 扩展支持的图像文件格式数量的插件集合。
- image-comparison - 比较具有相同大小的2个图像的库,并通过绘制矩形在视觉上显示差异。可以从比较中排除图像的一些部分。
-
JVM和JDK
- ParparVM - VM与非阻塞,并发GC的iOS。(与Classpath-exception-2.0 GPL-2.0-only)
- Avian - JVM与JIT,AOT模式和iOS端口。
- Dragonwell8 - OpenJDK的下游版本,针对在线电子商务,金融,物流应用进行了优化。
- Graal - 多语言可嵌入JVM。(与Classpath-exception-2.0 GPL-2.0-only)
- SAP Machine - SAP的无成本,经过严格测试和JCK验证的OpenJDK友好叉。(与Classpath-exception-2.0 GPL-2.0-only)
- Microsoft JDK - 微软构建的OpenJDK,免费,开源,现煮!
- Corretto - 亚马逊的OpenJDK的无成本,多平台,生产就绪分发。(与Classpath-exception-2.0 GPL-2.0-only)
- Open JDK - 打开JDK社区主页。(与Classpath-exception-2.0 GPL-2.0-only)
- RedHat Open JDK - RedHat的OpenJDK发行版。(与Classpath-exception-2.0 GPL-2.0-only)
-
安全
- Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
- Bouncy Castle - 通用加密库和JCA提供程序提供广泛的功能,从基本的助手到PGP/SMIME操作。
- DependencyCheck - 检测项目依赖项中包含的公开披露的漏洞。
- Hdiv - 排除OWASP Top 10中包含的应用程序安全风险的运行时应用程序,包括SQL注入,跨站点脚本,跨站点请求伪造,数据篡改和蛮力攻击。
- jjwt - 适用于Java和Android的JSON web令牌。
- jwt-java - 轻松创建和解析JSON Web令牌,并使用fluent API创建自定义JWT验证器。
- Jwks RSA - JSON Web密钥集解析器。
- Kalium - 网络和密码学 (NaCl) 库的绑定。
- Keywhiz - 用于分发和管理秘密的系统。
- Nbvcxz - 高级密码强度估计。
- OACC - 提供基于权限的授权服务。
- OpenAM - 访问管理解决方案,包括身份验证,SSO,授权,联合,权利和web服务安全性。
- OTP-Java - 根据RFC 4226 (HOTP) 和RFC 6238 (TOTP) 的一次性密码生成器库。
- pac4j - 安全引擎。
- Password4j - 用户友好的加密库,支持Argon2,Bcrypt,Scrypt,PBKDF2和各种其他加密哈希函数。
- SecurityBuilder - 用于JCA和JSSE类,尤其是X.509证书的Fluent Builder API。
- SSLContext-Kickstart - 高级SSL上下文构建器,用于使用SSL/TLS配置HTTP客户端。
- Tink - 为常见的加密任务提供简单且防误用的API。
- Themis - 多平台高级加密库为保护敏感数据提供易于使用的加密: 具有前向保密性的安全消息传递,安全数据存储 (AES256GCM); 适合构建端到端加密应用程序。
-
分布
- IzPack - 用于跨平台部署的设置创作工具。
- Artipie - 二进制工件管理工具包,将它们托管在文件系统或s3上。
- Capsule - 简单而强大的包装和部署。类固醇上的胖罐子,或者支持JVM优化容器的 “Docker for Java”。
- Getdown - 用于将Java应用程序部署到最终用户计算机并使其保持最新状态的系统。作为Java Web Start的替代方案而开发。
- JavaPackager - Maven和Gradle插件,它提供了一种简单的方法来在本机Windows,macOS或GNU/Linux可执行文件中打包Java应用程序,并为它们生成安装程序。
- jlink.online - 通过HTTP构建优化的运行时。
- packr - 打包jar,资产和JVM,以便在Windows,Linux和macOS上进行本机分发。
- really-executable-jars-maven-plugin - 用于制作自执行jar的Maven插件。
-
分布式事务
- Seata - 在微服务架构下提供高性能和易于使用的分布式事务服务。
-
财务
-
函数式编程
- Cyclops - Monad和流实用程序,理解,模式匹配,所有JDK集合的功能扩展,未来流,蹦床等等。
- derive4j - Java 8注释处理器和框架,用于导出代数数据类型构造函数,模式匹配和态射。(GPL-3.0-only)
- Fugue - 番石榴的功能扩展。
- jOOλ - Java 8的扩展,旨在通过提供大量缺失的类型和一组丰富的顺序流API添加来修复lambda中的差距。
- protonpack - 流实用程序的集合。
- StreamEx - 增强Java 8流。
- Functional Java - 实现了许多基本和高级编程抽象,有助于面向组合的开发。
-
地理空间
- Geo - Java中的GeoHash实用程序。
- GraphHopper - 道路路由引擎。用作Java库或独立的web服务。
- Jgeohash - 使用GeoHash算法的库。
- Mapsforge - 3.0-only)
- Spatial4j - 通用空间/地理空间图书馆。
-
超媒体类型
-
内省
- ClassGraph
- jOOR
- Mirror - Mirror的创建是为了解决一个简单的问题,通常将其命名为ReflectionUtil,该问题几乎适用于所有依靠反射来执行高级任务的项目。
- ReflectASM - ReflectASM是一个非常小的Java库,通过使用代码生成提供高性能反射。
- Reflections - 反射扫描您的类路径,索引元数据,允许您在运行时查询它,并可以保存和收集项目中许多模块的信息。
- Mirror - Mirror的创建是为了解决一个简单的问题,通常将其命名为ReflectionUtil,该问题几乎适用于所有依靠反射来执行高级任务的项目。
-
作业调度
- JobRunr - 作业调度库,它利用lambdas进行fire-and-forget,延迟和重复的作业。使用乐观锁定保证由单个调度程序实例执行。具有持久性,最小依赖性和可嵌入的功能。
- Quartz - 功能丰富的开源作业调度库,可以集成在几乎任何Java应用程序中。
- Sundial - 轻量级框架,用于简单地定义作业,定义触发器并启动调度程序。
- Wisp - 具有最小的占用空间和简单的API的简单库。
- db-scheduler - 持久和群集友好的调度程序。
- easy-batch - 使用简单的处理管道设置批处理作业。记录从数据源按顺序读取,在管道中处理并批量写入数据接收器。
- shedlock - 确保您的计划任务在同一时间最多执行一次。如果任务正在一个节点上执行,则它获取一个锁,该锁阻止从另一个节点或线程执行相同的任务。
-
日志记录
- Apache Log4j 2 - 完整的重写与强大的插件和配置架构。
- Echopraxia - 围绕结构化日志记录,丰富的上下文和条件日志记录设计的API。有Logback和Log4J2实现,但echoprawia的API是完全无依赖关系的,这意味着它可以用任何日志API实现。
- Logbook - 用于HTTP请求和响应日志记录的可扩展的开源库。
- p6spy - 为所有JDBC事务启用日志记录,而无需更改代码。
- OpenTracing Toolbox - 建立在OpenTracing之上的库集合,并为现有仪器提供扩展和插件。
- Kibana - 分析和可视化日志文件。某些功能需要付款。
- Logstash - 用于管理日志文件的工具。
-
机器学习
- Intelligent java - 以编程方式与远程深度学习和语言模型无缝集成。
- JSAT - 用于预处理、分类、回归和聚类的算法,支持多线程执行。(GPL-3.0-only)
- m2cgen - CLI工具将模型转换为本机代码。
- Neureka - 一个轻量级的,平台独立的,OpenCL加速的nd阵列/张量库。
- Oryx 2 - 用于构建实时,大规模机器学习应用程序的框架。包括用于协同过滤、分类、回归和聚类的端到端应用程序。
- Siddhi - 云原生流和复杂事件处理引擎。
- Smile
- oj! Algorithms - 数据科学,机器学习和科学计算所需的高性能数学,线性代数和优化。
- Tribuo - 提供用于分类,回归,聚类,模型开发的工具以及与其他库 (如scikit-learn,pytorch和TensorFlow) 的接口。
-
消息传递
- Aeron - 高效,可靠,单播和多播消息传输。
- Deezpatch - 用于解耦消息 (请求和事件) 和消息处理程序的简单,轻量级和高性能的调度库。
- EventBus - 简单的发布/订阅事件总线。
- JeroMQ - ZeroMQ的实现。
- Nakadi - 在Kafka之上提供一个RESTful API。
- RabbitMQ Java client - RabbitMQ客户端。
- Smack
- NATS client - NATS的客户.
-
微服务
- Apollo - 用于编写可组合微服务的库。
- Armeria - 基于Java 8,Netty,HTTP/2,Thrift和gRPC构建的异步RPC/REST客户端/服务器库。
- consul-api - Consul API的客户端: 分布式、高可用性和数据中心感知的注册/发现服务。
- Eureka - 基于REST的服务注册表,用于弹性负载平衡和故障转移。
- JDA - 包装Discord REST API及其WebSocket事件。
- kubernetes-client - 客户端通过流畅的DSL提供对完整Kubernetes和OpenShift REST api的访问。
- OpenAI-Java - 用于使用OpenAI GPT-3 API的Java库。
- Sentinel - 流量控制组件,实现微服务的可靠性、弹性和监控。
-
原生
-
自然语言处理
- CogCompNLP - 为纯文本输入提供通用注释器。(研究和学术使用许可证)
- LingPipe - 用于从POS标记到情感分析的任务的工具包。
- CoreNLP - 为标记、命名实体识别和情感分析等任务提供了一组基本工具。(GPL-3.0-or-later)
-
联网
- Commons-networking - 服务器发送事件 (SSE) 的客户端。
- Comsat - 将标准的Java web相关api与Quasar纤维和actor集成在一起。
- Dubbo - 高性能RPC框架。
- Grizzly - NIO框架。在Glassfish中用作网络层。
- gRPC
- KryoNet - 使用NIO和Kryo为高效的TCP和UDP客户端/服务器网络通信提供干净简单的API。
- Drift - 易于使用,基于注释的库,用于创建节俭客户端和可序列化类型。
- ServiceTalk - 基于Netty的框架,具有针对特定协议定制的api,并支持多种编程范例。
- sshj - 以编程方式使用SSH,SCP或SFTP。
- TLS Channel - 在SSLEngine上实现ByteChannel接口,从而实现易于使用 (类似套接字) 的TLS。
- urnlib - 表示、解析和编码urn,如在RFC 2141中。(GPL-3.0-only)
- Fluency - 到Fluentd和Fluent Bit的高吞吐量数据摄取记录器。
-
流程
- ch.vorburger.exec - 围绕Apache Commons Exec的便捷API。
- zt-exec - 为Apache Commons Exec和ProcessBuilder提供统一的API。
- zt-process-killer - 停止从Java启动的进程或通过PID的系统进程。
-
反应式库
- Akka - 用于构建并发,分布式,容错和事件驱动应用程序的工具包和运行时。
- Reactive Streams - 提供具有非阻塞背压的异步流处理的标准。
- Reactor - 用于构建响应式快速数据应用程序的库。
- RxJava - 允许使用可观察序列组成异步和基于事件的程序。
-
REST框架
- Dropwizard - 自以为是的框架,用于使用Jetty,Jackson,Jersey和Metrics设置现代web应用程序。
- Microserver - 用于Spring和Spring Boot的方便,可扩展的微服务插件系统。它拥有30多个插件,并且还在不断增长,它支持微单体和纯微服务风格。
- rest.li - 用于使用类型安全绑定和异步,非阻塞IO构建强大,可扩展的RESTful架构的框架,具有端到端开发人员工作流程,可促进清洁实践,统一接口设计和一致的数据建模。
- RestExpress - JBoss Netty HTTP堆栈上的薄包装器,可提供缩放和性能。
- Restlet Framework - 具有强大路由和过滤功能以及统一的客户端和服务器API的开创性框架。
- Crnk - 实现JSON API规范,以构建面向资源的REST端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
- 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端点,包括排序,过滤,分页,链接,对象图,类型安全,批量更新,集成等。
-
序列化
- FlatBuffers - 内存高效的序列化库,可以访问序列化数据,而无需解包和解析。
- FST - JDK兼容,高性能对象图序列化。
- Kryo
- MessagePack - 高效的二进制序列化格式。
- PHP Serializer - 以PHP序列化格式序列化对象。
-
服务器
-
模板引擎
- Freemarker - 基于模板和更改数据生成文本输出 (HTML网页,电子邮件,配置文件,源代码等) 的库。
- Handlebars.java - 无逻辑和语义胡子模板。
- Jade4J - 实施Pug (以前称为Jade)。
- Jamal - 嵌入到Maven/JavaDoc中的可扩展模板引擎,支持多个扩展 (Groovy,Ruby,JavaScript,JShell,PlantUml),并支持代码段处理。
- jstachio - Typesafe Mustache模板引擎。
- jte - 编译为类,并使用简单的语法,几个功能,使开发更容易,并提供快速执行和占地面积小。
- Jtwig - 模块化,可配置和完全测试的模板引擎。
- Rocker - 优化,内存高效和快速的模板引擎产生静态类型,普通对象。
- StringTemplate - 用于生成源代码,网页,电子邮件或任何其他格式化文本输出的模板引擎。
-
实用程序
- Arthas - 允许对应用程序的生产问题进行故障排除,而无需修改代码或重新启动服务器。
- cactoos - 面向对象原语的集合。
- Chocotea - 从java代码生成postman集合,环境和集成测试。
- CRaSH - 为运行崩溃的JVM提供一个shell。由Spring Boot和其他人使用。(LGPL-2.1-or-later)
- Dex - Java/JavaFX工具能够强大的ETL和数据可视化。
- dregex - 使用确定性有限自动机的正则表达式引擎。它支持一些Perl风格的特性,但保留了线性匹配时间,还提供了set操作。
- Embulk - 批量数据加载器,可帮助各种数据库,存储,文件格式和云服务之间的数据传输。
- fswatch - 微库监视目录文件系统更改,简化了java.nio.file.WatchService。
- Gephi - 用于可视化和操纵大型图形网络的跨平台。(GPL-3.0-only)
- Java Diff Utils - 用于文本或数据比较和修补的实用程序。
- JavaVerbalExpressions - 库,有助于构建困难的正则表达式。
- JKScope - 受Kotlin启发的Java作用域函数。
- minio-java - 提供简单的api来访问任何Amazon S3-compatible对象存储服务器。
- Semver4j - 轻量级库,可帮助您处理不同模式的语义版本控制。
- Underscore-java - Underscore.js函数的端口。
- Guava - 集合,缓存,原语支持,并发库,通用注释,字符串处理,I/O等。
- JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
- JGit - 实现Git版本控制系统的轻量级纯Java库。
- JADE - 用于构建和调试多代理系统的框架和环境。(LGPL-2.0-only)
-
版本管理器
-
Web爬行
-
工作流编排引擎
-
代码分析
- Checkstyle - 编码约定和标准的静态分析。(LGPL-2.1-or-later)
- Error Prone - 捕获常见的编程错误作为编译时错误。
- Error Prone Support - 容易出错的扩展: 额外的错误检查器和大量的更快的模板。
- NullAway - 消除具有低构建时间开销的NullPointerExceptions。
- PMD - 用于查找不良编码实践的源代码分析。
- p3c - 提供阿里巴巴的PMD、IDEA和Eclipse的编码指南。
- SonarJava - SonarQube & SonarLint的静态分析仪。(LGPL-3.0-only)
- Spoon - 用于分析和转换Java源代码的库。
- Infer - 现代静态分析工具,用于验证代码的正确性。
- RefactorFirst - 识别并优先考虑上帝类和高度耦合类。
- Spotbugs - 字节码的静态分析,以发现潜在的错误。(LGPL-2.1-only)
-
编译器-编译器
- JavaCC - 生成自顶向下解析器的解析器生成器。允许词法状态切换,并允许扩展的BNF规范。
-
计算机视觉
- JavaCV - Java接口OpenCV,FFmpeg,以及更多。
-
配置
- avaje config - 加载yaml和属性文件,支持动态配置,插件,文件监视和配置事件侦听器。
- centraldogma - 基于Git、ZooKeeper和HTTP/2的高可用版本控制服务配置库。
- config - 配置库支持Java属性,JSON或其人类优化的超集HOCON。
- Configurate - 支持各种配置格式和转换的配置库。
- dotenv - 使用特定于环境的文件的十二因素配置库。
- Externalized Properties - 轻量级但功能强大的配置库,支持从外部源和可扩展的后处理/转换机制的属性的分辨率。
- KAConf - 用于Java和Kotlin的基于注释的配置系统。
- Curator Framework - Apache ZooKeeper的高级API。
- Gestalt - Gestalt为配置管理的挑战提供了全面的解决方案。它允许您从多个输入获取配置数据,智能地合并它们,并以结构化、类型安全的方式呈现它们。
- owner - 减少属性的样板。
-
约束满足问题求解器
- JaCoP - 包括FlatZinc语言的接口,使其能够执行MiniZinc模型。(AGPL-3.0)
- OptaPlanner - 业务计划和资源调度优化求解器。
- Timefold - 具有Spring/Quarkus支持和快速入门的灵活求解器,用于解决车辆路线问题,维护计划,员工轮班计划等。
-
CSV
- FastCSV - 性能优化,无依赖和RFC 4180兼容。
- jackson-dataformat-csv - 用于读取和写入CSV的Jackson扩展。
- Super CSV - 强大的CSV解析器,支持Dozer,joda-time和Java 8。
- uniVocity-parsers - 最快和最完整的功能解析器之一。还带有用于TSV和固定宽度记录的解析器。
-
数据结构
- Big Queue - 基于内存映射文件的快速和持久队列。
- HyperMinHash-java - 用于在日志空间中计算并集,交集和集合基数的概率数据结构。
- Persistent Collection - Java集合框架的持久和不可变的模拟。
- Protobuf - Google的数据交换格式。
- RoaringBitmap - 快速和高效的压缩位图。
- Wire - 干净,轻量级的协议缓冲区。
- Tape - 闪电般快速,事务性,基于文件的FIFO。
- SBE - 简单的二进制编码,最快的消息格式之一。
-
依赖注入
- Avaje Inject - 专注于微服务的编译时注入框架,无需反射。
- Dagger - 没有反射的编译时注入框架。
- Feather - 超轻量级,JSR-330-compliant依赖注入库。
- Governator - 增强Google Guice的扩展和实用程序。
- Guice - 轻量级和固执己见的框架,完成匕首。
- HK2 - 轻量级和动态依赖注入框架。
- JayWire - 轻量级的依赖注入框架。(LGPL-3.0-only)
- Inversion of Control
-
发展
- Faux Pas - 库,通过规避默认情况下不允许Java运行时中的任何函数式接口抛出检查异常的问题,简化了错误处理。
- HotswapAgent - 无限的运行时类和资源重新定义。(GPL-2.0-only)
- JavaParser - 解析,修改和生成Java代码。
- JavaSymbolSolver - 符号求解器。
- Manifold - 重新激发Java强大的功能,如类型安全元编程,结构类型和扩展方法。
- SneakyThrow - 忽略没有字节码操作的检查异常。也可以在Java 8流操作中使用。
- Tail - 使用尾调用优化启用无限递归。
- NoException - 允许在函数式接口中检查异常,并将异常转换为可选返回。
-
IDE
- Visual Studio Code - 通过使用内部市场的扩展,为轻量级项目提供Java支持,并提供简单的现代工作流。
- SnapCode - 用于在浏览器中运行的Java的现代IDE,专注于教育。
-
缓存
- Caffeine - 高性能,接近最佳的缓存库。
-
CLI
- jbock - Reflectionless命令行解析器。
- JLine - 包括从现代炮弹,如完成或历史的功能。
- Jansi - ANSI转义代码格式化控制台输出。
- Jexer - 高级控制台 (和Swing) 文本用户界面 (TUI) 库,具有鼠标可拖动窗口,内置终端窗口管理器和sixel图像支持。看起来像[Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision)。
- Text-IO - 帮助创建完整的基于控制台的应用程序。
- Lanterna - 简单的控制台文本GUI库,类似于诅咒。(LGPL-3.0-only)
- Airline - 基于注释的框架,用于解析类似Git的命令行参数。
-
-
资源
-
播客和截屏
- The Java Council
- 140 Second Ducklings - 在Twitter上的短视频深入解释Java调试。
- 140 Second Ducklings - 在Twitter上的短视频深入解释Java调试。
- A Bootiful Podcast
- Inside Java
- The Java Posse - 截至02/2015已停产。
- Foojay Podcast
-
人
- 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持久性书籍的作者。
- Arun Gupta - Java冠军,JavaOne Rockstar,JUG负责人,Devoxx4Kids-er,Couchbase开发人员倡导副总裁。
- Chris Engelbert - 开源爱好者,演讲者,开发人员,TimescaleDB的开发人员倡导。
- Chris Richardson - 软件架构师,顾问和系列企业家,Java冠军,JavaOne摇滚明星,* POJOs in Action- author。
- Josh Long - Pivotal的Spring倡导者,O'Reilly's Cloud Native Java的作者-以及使用JavaOne摇滚明星Spring Boot构建微服务。
- Mani Sarkar - Java冠军,多语言,涉及 @ graalvm,AI/ML/DL,数据科学,开发人员社区,演讲者和博客的软件工匠。像这样的几个令人敬畏的列表的创建者。
- 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冠军,演讲者.
-
有影响力的书籍
-
网站
-
社区
- r/java - Subreddit的Java社区。
- Stack Overflow - 问题/答案平台。
-
相关的真棒列表
-
前端
-
-
贡献
-
网站
- CONTRIBUTING - java-lint)。
-
Programming Languages
Sub Categories
测试
42
人
40
杂项
30
数据库
27
安全
19
实用程序
19
监测
15
JSON
15
科学
13
联网
12
相关的真棒列表
12
REST框架
12
代码分析
11
配置
10
PDF
10
代码生成器
10
分布式应用程序
10
Bean映射
9
模板引擎
9
HTTP客户端
9
机器学习
9
字节码操作
9
JVM和JDK
9
发展
8
分布
8
依赖注入
8
Web框架
8
消息传递
8
数据结构
8
微服务
8
日志记录
7
CLI
7
播客和截屏
7
有影响力的书籍
7
函数式编程
7
网站
7
作业调度
7
图像
6
性能分析
6
财务
6
内省
6
ORM
6
地理空间
5
序列化
5
CSV
4
原生
4
游戏开发
4
GUI
4
反应式库
4
高性能
4
形式验证
4
日期和时间
4
文档处理
4
站台
4
服务器
3
约束满足问题求解器
3
代码覆盖率
3
流程
3
超媒体类型
3
搜索
3
构建
3
自然语言处理
3
版本管理器
3
IDE
2
社区
2
工作流编排引擎
2
Web爬行
2
分布式事务
1
缓存
1
编译器-编译器
1
计算机视觉
1
前端
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