awesome-java-cn
by jobbole
Java资源大全中文版,包括开发库、开发工具、网站、博客、微信、微博等,由伯乐在线持续更新。
AI summary
Java toolset
Resource collection and compilation of various tools and libraries for Java development
- stars
- 15.5K
- forks
- 4.7K
- watching
- 1.5K
- awesome list
- 1
- entries
- 359
What's in the list
359 links in 61 sections, with live GitHub stats.activeno commit in 2y
我们要做什么?
- 伯乐在线资源频道
整理后的内容,将收录在 。可参考已整理的内容:
我们要做什么? / 伯乐在线资源频道
古董级工具
- Apache Ant
:基于XML的构建管理工具。
- cglib
:字节码生成库。
- GlassFish
:应用服务器,由Oracle赞助支持的Java EE参考实现。
- Hudson
:持续集成服务器,目前仍在活跃开发。
- JavaServer Faces
:Mojarra是JSF标准的一个开源实现,由Oracle开发。
- JavaServer Pages
:支持自定义标签库的网站通用模板库。
- Liquibase
:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。
古董级工具 / 构建工具
- Apache Maven
:Maven是一款声明式构建及依赖管理工具,采用约定优于配置方式进行管理。相对Apache Ant更推荐使用Maven,前者采用了过程式管理,维护相对困难。
- Bazel
:来自Google的构建工具,可以快速、可靠地构建代码。
- Gradle
:使用Groovy(非XML)进行增量构建,可以很好地与Maven依赖管理配合工作。
- Buck
:Facebook构建工具。
古董级工具 / 字节码操作
- ASM
:通用底层字节码操作和分析开发库。
- Byte Buddy
:使用流式API进一步简化字节码生成。
- Byteman
:在运行时通过DSL(规则)操作字节码进行测试和故障排除。
- Javassist
:一个简化字节码编辑尝试。
古董级工具 / 集群管理
- Apache Aurora
:Apache Aurora是一个Mesos框架,用于长时间运行服务和定时任务(cron job)。
- Singularity
:Singularity是一个Mesos框架,方便部署和操作。它支持Web Service、后台运行、调度作业和一次性任务。
古董级工具 / 代码分析
- Checkstyle
:代码编写规范和标准静态分析工具。
- Error Prone
:将常见编程错误作为运行时错误报告。
- 官网
FindBugs:通过字节码静态分析查找隐藏bug。
- jQAssistant
:使用基于Neo4J查询语言进行代码静态分析。
- PMD
:对源代码分析查找不良的编程习惯。
- SonarQube
:通过插件集成其它分析组件,对过去一段时间内的数据进行统计。
古董级工具 / 编译器生成工具
古董级工具 / 外部配置工具
古董级工具 / 约束满足问题求解程序
- Choco
:可直接使用的约束满足问题求解程序,使用了约束规划技术。
- JaCoP
:为FlatZinc语言提供了一个接口,可以执行MiniZinc模型。
- OptaPlanner
:业务规划与资源调度优化求解程序。
- Sat4J
:逻辑代数与优化问题最先进的求解程序。
古董级工具 / 持续集成
古董级工具 / CSV解析
- uniVocity-parsers
:速度最快功能最全的CSV开发库之一,同时支持TSV与固定宽度记录的读写。
古董级工具 / 数据库
古董级工具 / 数据结构
- Apache Parquet
:Google Dremel论文中发布的基于组装算法的列式(Columnar)存储格式。
- Protobuf
:Google数据交换格式。
- SBE
:简单二进制编码,是最快速的消息格式之一。
- Wire
:整洁轻量级协议缓存。
古董级工具 / 时间日期工具库
古董级工具 / 依赖注入
- Apache DeltaSpike
:CDI扩展框架。
- Dagger2
:编译时注入框架,不需要使用反射。
- Guice
:可以匹敌Dagger的轻量级注入框架。
- HK2
:轻量级动态依赖注入框架。
古董级工具 / 开发流程增强工具
- ADT4J
:针对代数数据类型的JSR-269代码生成器。
- AspectJ
:面向切面编程(AOP)的无缝扩展。
- Auto
:源代码生成器集合。
- DCEVM
:通过修改JVM在运行时支持对已加载的类进行无限次重定义。
官网
HotswapAgent:支持无限次重定义运行时类与资源。
- 官网
Immutables:类似Scala的条件类。
官网
JHipster:基于Spring Boot与AngularJS应用程序的Yeoman源代码生成器。
- JRebel
:无需重新部署,可以即时重新加载代码与配置的商业软件。
- 官网
Lombok:减少冗余的代码生成器。
官网
Spring Loaded:类重载代理。
- vert.x
:多语言事件驱动应用框架。
古董级工具 / 分布式应用
- Akka
:用来编写分布式容错并发事件驱动应用程序的工具和运行时。
- Apache Storm
:实时计算系统。
- Apache ZooKeeper
:针对大型分布式系统的协调服务,支持分布式配置、同步和名称注册。
- Hazelcast
:高可扩展内存数据网格。
- Hystrix
:提供延迟和容错。
- JGroups
:提供可靠的消息传递和集群创建的工具。
- Orbit
:支持虚拟角色(Actor),在传统角色的基础上增加了另外一层抽象。
- Quasar
:为JVM提供轻量级线程和角色。
古董级工具 / 分布式数据库
- Apache Cassandra
:列式数据库,可用性高且没有单点故障。
- Apache HBase
:针对大数据的Hadoop数据库。
- Druid
:实时和历史OLAP数据存储,在聚集查询和近似查询方面表现不俗。
- Infinispan
:针对缓存的高并发键值对数据存储。
- TiDB
:开源分布式HTAP数据库,结合了传统的RDBMS和NoSQL的最佳特性。
古董级工具 / 发布
- 官网
Bintray:发布二进制文件版本控制工具。可以于Maven或Gradle一起配合使用。提供开源免费版本和几种商业收费版本。
- Central Repository
:最大的二进制组件仓库,面向开源社区提供免费服务。Apache Maven默认使用Central Repository,也可以在所有其他构建工具中使用。
- 官网
IzPack:为跨平台部署建立创作工具(Authoring Tool)。
- 官网
JitPack:打包GitHub仓库的便捷工具。可根据需要构建Maven、Gradle项目,发布可立即使用的组件。
- 官网
Launch4j:将JAR包装为轻量级本机Windows可执行程序。
- 官网
Nexus:支持代理和缓存功能的二进制管理工具。
官网
packr:将JAR、资源和JVM打包成Windows、Linux和Mac OS X本地发布文件。
古董级工具 / 文档处理工具
- Apache POI
:支持OOXML规范(XLSX、DOCX、PPTX)以及OLE2规范(XLS、DOC、PPT)。
- documents4j
:使用第三方转换器进行文档格式转换,转成类似MS Word这样的格式。
- jOpenDocument
:处理OpenDocument格式(由Sun公司提出基于XML的文档格式)。
古董级工具 / 函数式编程
古董级工具 / 游戏开发
- jMonkeyEngine
:现代3D游戏开发引擎。
- libGDX
:全面的跨平台高级框架。
- LWJGL
:对OpenGL/CL/AL等技术进行抽象的健壮框架。
- 官网
jPCT:基于OpenGL技术开发的3D图形引擎。纯Java的3D引擎。
古董级工具 / GUI
- JavaFX
:Swing的后继者。
- Scene Builder
:开发JavaFX应用的可视化布局工具。
古董级工具 / 高性能计算
古董级工具 / IDE
- Eclipse
:老牌开源项目,支持多种插件和编程语言。
- IntelliJ IDEA
:支持众多JVM语言,是安卓开发者好的选择。商业版主要针对企业客户。
- NetBeans
:为多种技术提供集成化支持,包括Java SE、Java EE、数据库访问、HTML5等。
- Scala IDE
:一款基于Eclipse开源平台打造的Scala集成开发环境。
- SpringSource Tool Suite(STS)
:一款基于Eclipse开源平台打造的Spring应用开发环境。
古董级工具 / 图像处理
- Imgscalr
:纯Java 2D实现,简单、高效、支持硬件加速的图像缩放开发库。
- Picasso
:安卓图片下载和图片缓存开发库。
- Thumbnailator
:Thumbnailator是一个高质量Java缩略图开发库。
- ZXing
:支持多种格式的一维、二维条形码图片处理开发库。
- im4java
: 基于ImageMagick或GraphicsMagick命令行的图片处理开发库,基本上ImageMagick能够支持的图片格式和处理方式都能够处理。
- 官网
Apache Batik:在Java应用中程序以SVG格式显示、生成及处理图像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模块,可以集成使用也可以单独使用,还可以扩展自定义的SVG标签。
古董级工具 / JSON
古董级工具 / JVM与JDK
古董级工具 / 基于JVM的语言
古董级工具 / 日志
古董级工具 / 机器学习
- Apache Flink
:快速、可靠的大规模数据处理引擎。
- Apache Hadoop
:在商用硬件集群上用来进行大规模数据存储的开源软件框架。
- Apache Mahout
:专注协同过滤、聚类和分类的可扩展算法。
- Apache Spark
:开源数据分析集群计算框架。
- DeepDive
:从非结构化数据建立结构化信息并集成到已有数据库的工具。
- Deeplearning4j
:分布式多线程深度学习开发库。
- H2O
:用作大数据统计的分析引擎。
- Weka
:用作数据挖掘的算法集合,包括从预处理到可视化的各个层次。
- QuickML
:高效机器学习库。 、
古董级工具 / 消息传递
- Aeron
:高效可扩展的单播、多播消息传递工具。
- Apache ActiveMQ
:实现JMS的开源消息代理(broker),可将同步通讯转为异步通讯。
- Apache Camel
:通过企业级整合模式(Enterprise Integration Pattern EIP)将不同的消息传输API整合在一起。
- Apache Kafka
:高吞吐量分布式消息系统。
- Apache RocketMQ
: Apache RocketMQ是一个开源的分布式消息传递和流数据平台。
- Hermes
:快速、可靠的消息代理(Broker),基于Kafka构建。
- 官网
JBoss HornetQ:清晰、准确、模块化,可以方便嵌入的消息工具。
- JeroMQ
:ZeroMQ的纯Java实现。
- Smack
:跨平台XMPP客户端函数库。
- 官网
Openfire:是开源的、基于XMPP、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并可利用Web界面进行管理。
- 官网
Spark:是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。
- 官网
Tigase: 是一个轻量级的可伸缩的 Jabber/XMPP 服务器。无需其他第三方库支持,可以处理非常高的复杂和大量的用户数,可以根据需要进行水平扩展。
古董级工具 / 杂项
古董级工具 / 应用监控工具
- AppDynamics
:性能监测商业工具。
- JavaMelody
:性能监测和分析工具。
- Kamon
:Kamon用来监测在JVM上运行的应用程序。
- New Relic
:性能监测商业工具。
- 官网
SPM:支持对JVM应用程序进行分布式事务追踪的性能监测商业工具。
- OverOps(Takipi)
:产品运行时错误监测及调试商业工具。
古董级工具 / 原生开发库
- JNA
:不使用JNI就可以使用原生开发库。此外,还为常见系统函数提供了接口。
古董级工具 / 自然语言处理
- Apache OpenNLP
:处理类似分词等常见任务的工具。
- CoreNLP
:斯坦佛CoreNLP提供了一组基础工具,可以处理类似标签、实体名识别和情感分析这样的任务。
- LingPipe
:一组可以处理各种任务的工具集,支持POS标签、情感分析等。
- Mallet
:统计学自然语言处理、文档分类、聚类、主题建模等。
古董级工具 / 网络
- Async Http Client
:异步HTTP和WebSocket客户端函数库。
- Grizzly
:NIO框架,在Glassfish中作为网络层使用。
- Netty
:构建高性能网络应用程序开发框架。
- OkHttp
:一个Android和Java应用的HTTP+SPDY客户端。
- 官网
Undertow:基于NIO实现了阻塞和非阻塞API的Web服务器,在WildFly中作为网络层使用。
- 官网
unirest-java: Unirest 是一个轻量级的 HTTP 请求库,涵盖 Node、Ruby、Java、PHP、Python、Objective-C、.NET 等多种语言。可发起 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 请求。
官网
brpc-java: java版baidu rpc框架,高性能、多协议、易扩展、低耦合。
古董级工具 / ORM
- Ebean
:支持快速数据访问和编码的ORM框架。
- EclipseLink
:支持许多持久化标准,JPA、JAXB、JCA和SDO。
- Hibernate
:广泛使用、强健的持久化框架。Hibernate的技术社区非常活跃。
- MyBatis
:带有存储过程或者SQL语句的耦合对象(Couples object)。
- OrmLite
:轻量级开发包,免除了其它ORM产品中的复杂性和开销。
- 官网
Nutz:另一个SSH。 , ,
- 官网
JFinal:JAVA WEB + ORM框架。 ,
- Apache OpenJPA
: 实现了 EJB 3.0 中的 JPA 标准,为开发者提供功能强大、使用简单的持久化数据管理框架。
古董级工具 / PDF
- Apache FOP
:从XSL-FO创建PDF。
- Apache PDFBox
:用来创建和操作PDF的工具集。
- DynamicReports
:JasperReports的精简版。
- flyingsaucer
:XML/XHTML和CSS 2.1渲染器。
- iText
:一个易于使用的PDF函数库,用来编程创建PDF文件。注意,用于商业用途时需要许可证。
- JasperReports
:一个复杂的报表引擎。
古董级工具 / 性能分析
- jHiccup
:提供平台中JVM暂停的日志和记录。
- JMH
:JVM基准测试工具。
- JProfiler
:商业分析器。
- LatencyUtils
:测量和报告延迟的工具。
- VisualVM
:对运行中的应用程序信息提供了可视化界面。
- YourKit Java Profiler
:商业分析器。
古董级工具 / 响应式开发库
- Reactive Streams
:异步流处理标准,支持非阻塞式反向压力(backpressure)。
- Reactor
:构建响应式快速数据(fast-data)应用程序的开发库。
- RxJava
:通过JVM可观察序列(observable sequence)构建异步和基于事件的程序。
古董级工具 / REST框架
- Dropwizard
:偏向于自己使用的Web框架。用来构建Web应用程序,使用了Jetty、Jackson、Jersey和Metrics。
- Feign
:受Retrofit、JAXRS-2.0和WebSocket启发的HTTP客户端连接器(binder)。
- 官网
Jersey:JAX-RS参考实现。
- RESTEasy
:经过JAX-RS规范完全认证的可移植实现。
- RestExpress
:一个Java类型安全的REST客户端。
- RestX
:基于注解处理和编译时源码生成的框架。
- Retrofit
:类型安全的REST客户端。
- Spark
:受到Sinatra启发的Java REST框架。
- Swagger
:Swagger是一个规范且完整的框架,提供描述、生产、消费和可视化RESTful Web Service。
- Blade
:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。
古董级工具 / 科学计算与分析
古董级工具 / 搜索引擎
- Apache Solr
:一个完全的企业搜索引擎。为高吞吐量通信进行了优化。
- 官网
Elasticsearch:一个分布式、支持多租户(multitenant)全文本搜索引擎。提供了RESTful Web接口和无schema的JSON文档。
- 官网
Apache Lucene:是一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。
古董级工具 / 安全
- Apache Shiro
:执行认证、授权、加密和会话管理。
- Bouncy Castle
,涵盖了从基础的帮助函数到PGP/SMIME操作。 :多途加密开发库。支持JCA提供者(JCA provider)
- Cryptomator
:在云上进行客户端跨平台透明加密。
- Keycloak
:为浏览器应用和RESTful Web Service集成SSO和IDM。目前还处于beta版本,但是看起来非常有前途。
- PicketLink
:PicketLink是一个针对Java应用进行安全和身份认证管理的大型项目(Umbrella Project)。
Sa-Token
:Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。
古董级工具 / 序列化
- FlatBuffers
:高效利用内存的序列化函数库,无需解包和解析即可高效访问序列化数据。
- Kryo
:快速、高效的对象图形序列化框架。
- FST
:提供兼容JDK的高性能对象图形序列化。
- MessagePack
:一种高效的二进制序列化格式。
古董级工具 / 应用服务器
- Apache Tomcat
:针对Servlet和JSP的应用服务器,健壮性好且适用性强。
- Apache TomEE
:Tomcat加Java EE。
- Jetty
:轻量级、小巧的应用服务器,通常会嵌入到项目中。
- WebSphere Liberty
:轻量级、模块化应用服务器,由IBM开发。
- WildFly
:之前被称作JBoss,由Red Hat开发。支持很多Java EE功能。
古董级工具 / 模板引擎
- Apache Velocity
:提供HTML页面模板、email模板和通用开源代码生成器模板。
- FreeMarker
:通用模板引擎,不需要任何重量级或自己使用的依赖关系。
- Handlebars.java
:使用Java编写的模板引擎,逻辑简单,支持语义扩展(semantic Mustache)。
- Thymeleaf
:旨在替换JSP,支持XML文件的工具。
- Beetl
:新一代的模板引擎,功能强大,性能良好,超过当前流行的模板引擎。而且还易学易用。
古董级工具 / 测试
- Apache JMeter
:功能性测试和性能评测。
- Arquillian
:集成测试和功能行测试平台,集成Java EE容器。
- AssertJ
:支持流式断言提高测试的可读性。
- Awaitility
:用来同步异步操作的DSL。
- Cucumber
:BDD测试框架。
- 官网
Gatling:设计为易于使用、可维护的和高性能负载测试工具。
- Hamcrest
:可用来灵活创建意图(intent)表达式的匹配器。
- 官网
JMockit:用来模拟静态、final方法等。
- JUnit
:通用测试框架。
- Mockito
:在自动化单元测试中创建测试对象,为TDD或BDD提供支持。
- PowerMock
: 支持模拟静态方法、构造函数、final类和方法、私有方法以及移除静态初始化器的模拟工具。
- REST Assured
:为REST/HTTP服务提供方便测试的Java DSL。
- Selenide
:为Selenium提供精准的周边API,用来编写稳定且可读的UI测试。
- Selenium
:为Web应用程序提供可移植软件测试框架。
- Spock
:JUnit-compatible framework featuring an expressive Groovy-derived specification language. 兼容JUnit框架,支持衍生的Groovy范的语言。
- TestNG
:测试框架。
- Truth
:Google的断言和命题(proposition)框架。
- Unitils
:模块化测试函数库,支持单元测试和集成测试。
- WireMock
:Web Service测试桩(Stub)和模拟函数。
古董级工具 / 通用工具库
- Apache Commons
:提供各种用途的函数,比如配置、验证、集合、文件上传或XML处理等。
- args4j
:命令行参数解析器。
- CRaSH
:为运行进行提供CLI。
- Gephi
:可视化跨平台网络图形化操作程序。
- Guava
:集合、缓存、支持基本类型、并发函数库、通用注解、字符串处理、I/O等。
- JADE
:构建、调试多租户系统的框架和环境。
- javatuples
:正如名字表示的那样,提供tuple支持。尽管目前tuple的概念还有留有争议。
- JCommander
:命令行参数解析器。
- Protégé
:提供存在论(ontology)编辑器以及构建知识系统的框架。
Hutool
:一个Java工具集,缓存、HTTP、加密解密、DFA、JSON、分组配置文件、数据库操作、图片验证码、Excel读写、定时任务、模板引擎、邮件、Servlet、二维码、Emoji、分词等一系列工具类。
古董级工具 / 网络爬虫
- Apache Nutch
:可用于生产环境的高度可扩展、可伸缩的网络爬虫。
- Crawler4j
:简单的轻量级网络爬虫。
- JSoup
:刮取、解析、操作和清理HTML。
webmagic
:一个可扩展的Java爬虫框架,架构类似Python的Scrapy。
古董级工具 / Web框架
- Apache Tapestry
:基于组件的框架,使用Java创建动态、强健的、高度可扩展的Web应用程序。
- Apache Wicket
:基于组件的Web应用框架,与Tapestry类似带有状态显示GUI。
- Google Web Toolkit
:一组Web开发工具集,包含在客户端将Java代码转为JavaScript的编译器、XML解析器、RCP API、JUnit集成、国际化支持和GUI控件。
- Grails
:Groovy框架,旨在提供一个高效开发环境,使用约定而非配置、没有XML并支持混入(mixin)。
- Ninja
:Java全栈Web开发框架。非常稳固、快速和高效。
- Pippo
:小型、高度模块化的类Sinatra框架。
- Play
:使用约定而非配置,支持代码热加载并在浏览器中显示错误。
- PrimeFaces
:JSF框架,提供免费和带支持的商业版本。包括若干前端组件。
- Ratpack
:一组Java开发函数库,用于构建快速、高效、可扩展且测试完备的HTTP应用程序。
- Spring Boot
:微框架,简化了Spring新程序的开发过程。
- Spring
:旨在简化Java EE的开发过程,提供依赖注入相关组件并支持面向切面编程。
- Vaadin
:基于GWT构建的事件驱动框架。使用服务端架构,客户端使用Ajax。
- Blade
:国人开发的一个轻量级的MVC框架. 它拥有简洁的代码,优雅的设计。
古董级工具 / 业务流程管理套件
资源 / 社区
资源 / 有影响力的书
资源 / 播客
资源 / 微博、微信公众号
- @ImportNew
ImportNew 微博:
资源 / Twitter
- Adam Bien
:自由职业者、作家、JavaONE明星演讲者、顾问、Java Champion。
- Antonio Goncalves
:Java Champion、JUG Leader、Devoxx France、Java EE 6/7、JCP、作家。
- Arun Gupta
:Java Champion、JavaONE明星演讲者、JUG Leader、Devoxx4Kids成员、Red Hatter。
- Bruno Borges
:Oracle产品经理、Java Jock。
- Ed Burns
:Oracle技术团队顾问。
- Eugen Paraschiv
:Spring安全课程作者。
- James Weaver
:Java、JavaFX、IoT开发者、作者和演讲者。
- Java EE
:Java EE Twitter官方账号。
- Java Magazine
:Java杂志官方账号。
- Java.net
:Java.net官方账号。
- Java
:Java Twitter官方账号。
- Javin Paul
:知名Java博客作者。
- Lukas Eder
:Data Geekery(jOOQ)创始人兼CEO。
- Mario Fusco
:RedHatter、JUG协调、活跃讲师和作者。
- Mark Reinhold
:Oracle首席架构师、Java平台开发组。
- Martijn Verburg
:London JUG co-leader、演讲者、作家、Java Champion等。
- OpenJDK
:OpenJDK官方账号。
- Reza Rahman
:Java EE、GlassFish、WebLogic传道者、作家、演讲者、开源黑客。
- Simon Maple
:Java Champion、virtualJUG创始人、LJC leader、RebelLabs作者。
- Stephen Colebourne
: Java Champion、演讲者。
- Tim Boudreau
:作家、NetBeans大牛。
- Trisha Gee
:Java Champion、演讲者。
资源 / 微博、微信公众号
- @ImportNew
ImportNew 微博:
资源 / 知名网站
- ImportNew
(ImportNew 专注 Java 技术)
- TheServerSide.com
:服务器编程交流平台是一个老牌的IT信息网站,关注服务器端编程的,以Java和.Net周边信息为主。
- OnJava
:O'Reilly Java包含最新的Java技术资讯,优质代码,完全的实例和详解。
Nothing in this list matches your filter.
Featured in 1 awesome list
Each link jumps to the spot where the list mentions awesome-java-cn.