diff --git a/README-EN.md b/README-EN.md index 7573c5e..7d01ca9 100644 --- a/README-EN.md +++ b/README-EN.md @@ -1,6 +1,7 @@


中文 | English
Great Java project on Github(Github 上非常棒的 Java 开源项目).

+Github is a fantastic place for programmers. It contains a variety of powerful open source frameworks, software and tutorials. These things are very helpful for us to learn knowledge and make progress, leading to my idea of sorting out outstanding Java open source projects on Github for the best of everyone's benefit. I have categorized the project based on several dimensions. If you feel this project useful to you, welcome to give this project a Star. I will continue to improve this list using my spare time, thank you. 🙏 You are also very welcome to recommend the Java projects that you like. The order of the following projects is mostly based on their popularity (the number their Stars) . -> Github is a fantastic place for programmers. It contains a variety of powerful open source frameworks, software and tutorials. These things are very helpful for us to learn knowledge and make progress, leading to my idea of sorting out outstanding Java open source projects on Github for the best of everyone's benefit. I have categorized the project based on several dimensions. If you feel this project useful to you, welcome to give this project a Star. I will continue to improve this list using my spare time, thank you. 🙏 You are also very welcome to recommend the Java projects that you like. The order of the following projects is mostly based on their popularity (the number their Stars) . +If there is a better project on the gitee, I would also recommend coming here! ## Tutorial @@ -44,12 +45,13 @@ ## Framework 1. **[spring-boot](https://github.com/spring-projects/spring-boot)** : Spring Boot makes it easy to create stand-alone, production-grade Spring-based applications, and the built-in web server lets you run projects like normal Java programs. In addition, most Spring Boot projects require only a small amount of configuration, which is different from Spring reconfiguration. -2. **[flink](https://github.com/apache/flink)** : Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. -3. **[Sentinel](https://github.com/alibaba/Sentinel)** : A lightweight powerful flow control component enabling reliability and monitoring for microservices. -4. **[dubbo](https://github.com/apache/dubbo)** : Apache Dubbo is a high-performance, java based, open source RPC framework. -5. **[spring-cloud-kubernetes](https://github.com/spring-cloud/spring-cloud-kubernetes)** : Kubernetes integration with Spring Cloud Discovery Client, Configuration, etc... -6. **[seata](https://github.com/seata/seata)** : Seata is an easy-to-use, high-performance, open source distributed transaction solution. -7. **[skywalking](https://github.com/apache/skywalking)** : SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures. +2. **[spring-cloud-alibaba](https://github.com/alibaba/spring-cloud-alibaba)** : Spring Cloud Alibaba provides a one-stop solution for distributed application development. It contains all the components required to develop distributed applications, making it easy for you to develop your applications using Spring Cloud. +3. **[flink](https://github.com/apache/flink)** : Apache Flink is an open source stream processing framework with powerful stream- and batch-processing capabilities. +4. **[Sentinel](https://github.com/alibaba/Sentinel)** : A lightweight powerful flow control component enabling reliability and monitoring for microservices. +5. **[dubbo](https://github.com/apache/dubbo)** : Apache Dubbo is a high-performance, java based, open source RPC framework. +6. **[spring-cloud-kubernetes](https://github.com/spring-cloud/spring-cloud-kubernetes)** : Kubernetes integration with Spring Cloud Discovery Client, Configuration, etc... +7. **[seata](https://github.com/seata/seata)** : Seata is an easy-to-use, high-performance, open source distributed transaction solution. +8. **[skywalking](https://github.com/apache/skywalking)** : SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures. ## Software/System @@ -78,7 +80,7 @@ ## Practical Project 1. **[mall](https://github.com/macrozheng/mall)** : The mall project is a set of e-commerce systems, including a front-end mall system and a back-end management system, which are implemented based on SpringBoot + MyBatis. -2. **[mall-swarm](https://github.com/macrozheng/mall-swarm)** : mall-swarmis a set of micro-service mall system, which adopts core technologies such as Spring Cloud Greenwich, Spring Boot 2, MyBatis, Docker and Elasticsearch, and meanwhile provides a management background based on Vue to facilitate and quickly set up the system +2. **[mall-swarm](https://github.com/macrozheng/mall-swarm)** : mall-swarm is a set of micro-service mall system, which adopts core technologies such as Spring Cloud Greenwich, Spring Boot 2, MyBatis, Docker and Elasticsearch, and meanwhile provides a management background based on Vue to facilitate and quickly set up the system 3. **[litemall](https://github.com/linlinjava/litemall)** : litemall = Spring Boot backend + Vue administrator front end + WeChat applet user front end + Vue user mobile end. 4. **[vhr](https://github.com/lenve/vhr)** : Micro Personnel is a human resource management system with separate front and back ends. The project is developed using SpringBoot + Vue. 5. **[FEBS-Shiro](https://github.com/wuyouzhuguli/FEBS-Shiro)** : Spring Boot 2.1.3, Shiro 1.4.0 & Layui 2.5.4 permission management system. diff --git a/README.md b/README.md index 4d2cf8e..e9b95ed 100644 --- a/README.md +++ b/README.md @@ -1,126 +1,36 @@ -


中文 | English
Great Java project on Github(Github 上非常棒的 Java 开源项目).

- -> 大家都知道 Github 是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将 Github 上非常棒的 Java 开源项目整理下来的想法。我会按照几个维度对项目进行分类,以便大家查阅。当然,如果你觉得不错的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份名单,谢谢🙏。 -> -> 欢迎大家推荐自己觉得不错的 Java 项目,下面项目的排序很大程度是根据当前项目的 Star 数量。 - - -## 教程 - -### Java - -1. **[JavaGuide](https://github.com/Snailclimb/JavaGuide)** :【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 -2. **[CS-Notes](https://github.com/CyC2018/CS-Notes)** :技术面试必备基础知识、Leetcode 题解、后端面试、Java 面试、春招、秋招、操作系统、计算机网络、系统设计。 -3. **[advanced-java](https://github.com/doocs/advanced-java)** :互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。 -4. **[miaosha](https://github.com/qiurunze123/miaosha)** : 秒杀系统设计与实现.互联网工程师进阶与分析。 -5. **[architect-awesome](https://github.com/xingshaocheng/architect-awesome)** :后端架构师技术图谱。 -6. **[toBeTopJavaer](https://github.com/hollischuang/toBeTopJavaer)** :Java工程师成神之路 。 -7. **[tutorials](https://github.com/eugenp/tutorials)**:该项目是一系列小而专注的教程 - 每个教程都涵盖 Java 生态系统中单一且定义明确的开发领域。 当然,它们的重点是 Spring Framework - Spring,Spring Boot 和 Spring Securiyt。 除了 Spring 之外,还有以下技术:核心 Java,Jackson,HttpClient,Guava。 -8. **[JCSprout](https://github.com/crossoverJie/JCSprout)** :处于萌芽阶段的Java核心知识库。 -9. **[JavaFamily](https://github.com/AobingJava/JavaFamily)** :【互联网一线大厂面试+学习指南】进阶知识完全扫盲。 -10. **[JGrowing](https://github.com/javagrowing/JGrowing)** :Java is Growing up but not only Java。Java成长路线,但学到不仅仅是Java。 - -### 数据结构/算法 - -1. **[LeetCodeAnimation](https://github.com/MisterBooo/LeetCodeAnimation)** :Demonstrate all the questions on LeetCode in the form of animation.(用动画的形式呈现解LeetCode题目的思路)。 -2. **[TheAlgorithms-Java](https://github.com/TheAlgorithms/Java)** :All Algorithms implemented in Java。 - -### SpringBoot - -1. **[SpringAll](https://github.com/wuyouzhuguli/SpringAll)** :循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源码。 -2. **[springboot-learning-example](https://github.com/JeffLi1993/springboot-learning-example)** :Spring Boot 实践学习案例,是 Spring Boot 初学者及核心技术巩固的最佳实践。 - -### SpringCloud - -1. **[SpringCloudLearning](https://github.com/forezp/SpringCloudLearning)** : 《史上最简单的Spring Cloud教程源码》。 -2. **[SpringCloud](https://github.com/zhoutaoo/SpringCloud)** :基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。 - -### 大数据 - -1. **[BigData-Notes](https://github.com/heibaiying/BigData-Notes)** :大数据入门指南 ⭐️。 -2. **[flink-learning](https://github.com/zhisheng17/flink-learning)** :含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。 - -### 设计模式 - -1. **[java-design-patterns](https://github.com/iluwatar/java-design-patterns)** : Design patterns implemented in Java。 - -## 框架 - -1. **[spring-boot](https://github.com/spring-projects/spring-boot)** :Spring Boot可以轻松创建独立的生产级基于Spring的应用程序,内置 web 服务器让你可以像运行普通 Java 程序一样运行项目。另外,大部分Spring Boot项目只需要少量的配置即可,这有别于 Spring 的重配置。 -2. **[flink](https://github.com/apache/flink)** :Apache Flink 是一个框架和分布式处理引擎,用于在*无边界和有边界*数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。 -3. **[Sentinel](https://github.com/alibaba/Sentinel)** :A lightweight powerful flow control component enabling reliability and monitoring for microservices. (轻量级的流量控制、熔断降级 Java 库)。 -4. **[dubbo](https://github.com/apache/dubbo)** :Apache Dubbo是一个基于Java的高性能开源RPC框架。 -5. **[spring-cloud-kubernetes](https://github.com/spring-cloud/spring-cloud-kubernetes)** : Kubernetes 集成 Spring Cloud Discovery Client, Configuration, etc...。 -6. **[seata](https://github.com/seata/seata)** : Seata 是一种易于使用,高性能,基于 Java 的开源分布式事务解决方案。 -7. **[skywalking](https://github.com/apache/skywalking)** : 针对分布式系统的应用性能监控,尤其是针对微服务、云原生和面向容器的分布式系统架构。 - -## 软件/系统 - -### 开发常用 - -1. **[elasticsearch](https://github.com/elastic/elasticsearch)**:开源,分布式,RESTful搜索引擎。 -2. **[zipkin](https://github.com/openzipkin/zipkin)** :Zipkin是一个分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的时序数据。功能包括该数据的收集和查找。 -3. **[nacos](https://github.com/alibaba/nacos)** :Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 -4. **[apollo](https://github.com/ctripcorp/apollo)** :Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 -5. **[canal](https://github.com/alibaba/canal)** :阿里巴巴 MySQL binlog 增量订阅&消费组件。 -6. **[DataX](https://github.com/alibaba/DataX)** :DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。 -7. **[cat](https://github.com/dianping/cat)** : CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。 -8. **[server](https://github.com/wildfirechat/server)** : 野火IM是一套跨平台、核心功能开源的即时通讯解决方案。 -9. **[EasyScheduler](https://github.com/analysys/EasyScheduler)** : Easy Scheduler是一个分布式工作流任务调度系统,主要解决“复杂任务依赖但无法直接监控任务健康状态”的问题。Easy Scheduler以DAG方式组装任务,可以实时监控任务的运行状态。同时,它支持重试,重新运行等操作... 。 - -### 消息中间件 - -1. **[RocketMQ](https://github.com/apache/rocketmq)** :阿里巴巴开源的一款高性能、高吞吐量的分布式消息中间件。 -2. **[Kafaka](https://github.com/apache/kafka)**: Kafka 是一种分布式的,基于发布 / 订阅的消息系统。关于它的入门可以查看:[Kafka入门看这一篇就够了](https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/data-communication/Kafka入门看这一篇就够了.md) -3. **[RabbitMQ](https://github.com/rabbitmq)** :由 erlang 开发的基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列。 - -### 其他 - -1. **[halo](https://github.com/halo-dev/halo)** :Halo 可能是最好的 Java 博客系统。 - -## 实战 - -1. **[mall](https://github.com/macrozheng/mall)** :mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。 -2. **[mall-swarm](https://github.com/macrozheng/mall-swarm)** : mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。 -3. **[litemall](https://github.com/linlinjava/litemall)** : 又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端。 -4. **[vhr](https://github.com/lenve/vhr)** :微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。 -5. **[FEBS-Shiro](https://github.com/wuyouzhuguli/FEBS-Shiro)** :Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 权限管理系统。 - -## 工具 - -### 常用工具类/代码质量 - -1. **[guava](https://github.com/google/guava)** :Guava 是一组核心库,其中包括新的集合类型(例如multimap 和 multiset),不可变集合,图形库以及用于并发、I / O、哈希、原始类型、字符串等的实用程序! -2. **[p3c](https://github.com/alibaba/p3c)** :Alibaba Java Coding Guidelines pmd implements and IDE plugin。Eclipse 和 IDEA 上都有该插件,推荐使用! -3. **[arthas](https://github.com/alibaba/arthas)** : Arthas 是Alibaba开源的Java诊断工具。 -4. **[sonarqube](https://github.com/SonarSource/sonarqube)** :SonarQube支持所有开发人员编写更干净,更安全的代码。 -2. **[checkstyle](https://github.com/checkstyle/checkstyle)** :Checkstyle是一种开发工具,可帮助程序员编写符合编码标准的Java代码。它使检查Java代码的过程自动化,从而使人们不必执行这项无聊(但很重要)的任务。这使其成为想要实施编码标准的项目的理想选择。 -3. **[pmd](https://github.com/pmd/pmd)** : 可扩展的多语言静态代码分析器。 -4. **[spotbugs](https://github.com/spotbugs/spotbugs)** :SpotBugs是FindBugs的继任者。静态分析工具,用于查找Java代码中的错误。 -8. **[hutool](https://github.com/looly/hutool)** : Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。 - -### 数据库 - -- **[redisson](https://github.com/redisson/redisson)** : [Redisson](https://redisson.org/)是架设在[Redis](http://redis.cn/)基础上的一个Java驻内存数据网格(In-Memory Data Grid)。支持超过30个对象和服务:Set, multiap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC。[Redisson项目介绍](https://github.com/redisson/redisson/wiki/Redisson%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D) - -### 其他 - -1. **[thingsboard](https://github.com/thingsboard/thingsboard)** :开源物联网平台 - 设备管理,数据收集,处理和可视化。 - -## 说明 - -### 成员列表 - - - - - - - - - - - - - - +
+

+ + + +

+

+ Github | + Gitee +

+
+

+
+ 非常棒的 Java 开源项目 +

+ +精选 Github 和 Gitee 上优质的 Java 开源项目,希望能够帮助到你。 + +欢迎大家在项目 [issues 区](https://github.com/CodingDocs/awesome-java/issues)推荐自己认可的 Java 开源项目,让我们共同维护一个优质的 Java 开源项目精选集! + +如果内容对你有帮助的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份名单,感谢! + +由于项目内容过多,阅读起来不太方便,我已将其同步到了自己网站: + +- [Java AI 相关优质开源项目](https://javaguide.cn/open-source-project/machine-learning.html):Java AI 开发框架和实战项目推荐。 +- [Java 优质开源技术教程](https://javaguide.cn/open-source-project/tutorial.html):优质面试资料/技术教程/学习路线整理,适合面试准备、系统学习与查缺补漏。 +- [Java 优质开源实战项目](https://javaguide.cn/open-source-project/practical-project.html):简历友好、可落地的实战项目精选(后台管理、电商、权限、网盘、社区等)。 +- [Java 优质开源系统设计项目](https://javaguide.cn/open-source-project/system-design.html):涵盖 Web 框架、微服务、消息队列、搜索引擎、数据库等基础架构组件精选。 +- [Java 优质开源工具类库](https://javaguide.cn/open-source-project/tool-library.html):涵盖 Lombok、Guava、Hutool、Arthas 等提升开发效率和代码质量的常用工具。 +- [程序员必备开发工具](https://javaguide.cn/open-source-project/tools.html):提升效率的开发工具与在线工具合集(IDE、调试、文档、效率等)。 + +你也可以在我的公众号“**JavaGuide**”回复“**开源**”在线阅读[「优质开源项目推荐」](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2OTA0Njk0OA==&action=getalbum&album_id=1345382825083895808&scene=173&from_msgid=2247516459&from_itemidx=1&count=3&nolastread=1#wechat_redirect)系列。 + +![“JavaGuide”公众号回复“开源”](https://oss.javaguide.cn/github/javaguide/open-source-project/image-20220512211235432.png) + +![JavaGuide 公众号](https://oss.javaguide.cn/github/javaguide/gongzhonghao-javaguide.png) diff --git "a/books/Java\345\274\200\346\272\220\351\241\271\347\233\256\346\261\207\346\200\273.pdf" "b/books/Java\345\274\200\346\272\220\351\241\271\347\233\256\346\261\207\346\200\273.pdf" new file mode 100644 index 0000000..e430013 Binary files /dev/null and "b/books/Java\345\274\200\346\272\220\351\241\271\347\233\256\346\261\207\346\200\273.pdf" differ diff --git "a/media/sponsor/\347\237\245\350\257\206\346\230\237\347\220\203.png" "b/media/sponsor/\347\237\245\350\257\206\346\230\237\347\220\203.png" new file mode 100644 index 0000000..565a840 Binary files /dev/null and "b/media/sponsor/\347\237\245\350\257\206\346\230\237\347\220\203.png" differ