Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CodingDocs/awesome-java
Collection of awesome Java project on Github(非常棒的 Java 开源项目集合).
https://github.com/CodingDocs/awesome-java
List: awesome-java
Last synced: about 1 month ago
JSON representation
Collection of awesome Java project on Github(非常棒的 Java 开源项目集合).
- Host: GitHub
- URL: https://github.com/CodingDocs/awesome-java
- Owner: CodingDocs
- Created: 2019-12-06T11:03:23.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-08-30T03:29:59.000Z (over 1 year ago)
- Last Synced: 2024-08-23T04:01:43.434Z (4 months ago)
- Homepage:
- Size: 1.91 MB
- Stars: 8,829
- Watchers: 245
- Forks: 1,619
- Open Issues: 12
-
Metadata Files:
- Readme: README-EN.md
Awesome Lists containing this project
- ultimate-awesome - awesome-java - Collection of awesome Java project on GitHub(非常棒的 Java 开源项目集合). (Programming Language Lists / Java Lists)
- awesome-hacking-lists - CodingDocs/awesome-java - Collection of awesome Java project on Github(非常棒的 Java 开源项目集合). (Others)
- StarryDivineSky - CodingDocs/awesome-java
README
中文 | 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) .If there is a better project on the gitee, I would also recommend coming here!
## Tutorial
### Java
1. **[JavaGuide](https://github.com/Snailclimb/JavaGuide)** : [Java Learning + Interview Guide] A project covering the core knowledge that most Java programmers need to obtain.
2. **[CS-Notes](https://github.com/CyC2018/CS-Notes)**: Essential basic knowledge for technical interviews, Leetcode solutions, back-end interview, Java interview, spring recruit, autumn recruit, operating system, computer network, system design.
3. **[advanced-java](https://github.com/doocs/advanced-java)**: The advanced knowledge of Java Internet engineers, covering high concurrency, distributed systems, high availability, microservice, massive data processing and other fields of knowledge.
4. **[miaosha](https://github.com/qiurunze123/miaosha)** :Second kill system design and implementation.Internet engineer progression and analysis.
5. **[architect-awesome](https://github.com/xingshaocheng/architect-awesome)** : The Backend architect technical map.
6. **[toBeTopJavaer](https://github.com/hollischuang/toBeTopJavaer)** : From zero to one, the success road for Java engineers.
7. **[tutorials](https://github.com/eugenp/tutorials)** : This project is a collection of small but focused tutorials - each covering a single and well defined area of the Java ecosystem. Its focus is the Spring Framework - Spring, Spring Boot and Spring Security. In additional to Spring, the modules cover a number of aspects in Java.
8. **[JCSprout](https://github.com/crossoverJie/JCSprout)** : Java Core knowledge,It is still in an embryonic stage.
9. **[JavaFamily](https://github.com/AobingJava/JavaFamily)** : Advanced and Complete Knowledge for [Internet Frontline Interview + Learning Guide.
10. **[JGrowing](https://github.com/javagrowing/JGrowing)** : Road to Java, but more than just Java.### Data Structure / Algorithm
1. **[LeetCodeAnimation](https://github.com/MisterBooo/LeetCodeAnimation)** : Demonstrate all the questions on LeetCode in the form of animation.
2. **[TheAlgorithms-Java](https://github.com/TheAlgorithms/Java)** : All Algorithms implemented in Java .### SpringBoot
1. **[SpringAll](https://github.com/wuyouzhuguli/SpringAll)** : One step at a time , learn Spring Boot, Spring Boot & Shiro, Spring Cloud, Spring Security & Spring Security OAuth2, blog Spring series source code.
2. **[springboot-learning-example](https://github.com/JeffLi1993/springboot-learning-example)** : Spring Boot learning cases, a best practice for Spring Boot beginners and core technology consolidationSpring Boot.### SpringCloud
1. **[SpringCloudLearning](https://github.com/forezp/SpringCloudLearning)** : The simplest Spring Cloud tutorial
2. **[SpringCloud](https://github.com/zhoutaoo/SpringCloud)** : Spring Cloud 2.1 based microservice development scaffolding, integrating spring-security-oauth2, nacos, feign, sentinel, springcloud-gateway, etc. In terms of service governance, elasticsearch, skywalking, springboot-admin, zipkin, etc. are introduced to allow project development to quickly enter business development without spending too much time on architecture.### Big Data
1. **[BigData-Notes](https://github.com/heibaiying/BigData-Notes)** : Introduction to Big data ⭐️。
2. **[flink-learning](https://github.com/zhisheng17/flink-learning)** : Includes Flink introduction, concepts, principles, practical combat, performance tuning, source code analysis, and so on.### Design pattern
1. **[java-design-patterns](https://github.com/iluwatar/java-design-patterns)** : Design patterns implemented in Java.
## 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. **[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
### Develop
1. **[elasticsearch](https://github.com/elastic/elasticsearch)** : Open Source, Distributed, RESTful Search Engine.
2. **[zipkin](https://github.com/openzipkin/zipkin)** : Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures. Features include both the collection and lookup of this data.
3. **[nacos](https://github.com/alibaba/nacos)** :Nacos is committed to help you discover, configure, and manage your microservices. It provides a set of simple and useful features enabling you to realize dynamic service discovery, service configuration, service metadata and traffic management.
4. **[apollo](https://github.com/ctripcorp/apollo)** : Apollo (Apollo) is a distributed configuration center developed by the Ctrip framework department. It can centrally manage the configuration of applications in different environments and clusters. After the configuration is modified, it can be pushed to the application in real time. It is applicable to microservice configuration management scenarios.
5. **[canal](https://github.com/alibaba/canal)** : Alibaba MySQL binlog incremental subscription & consumption component.
6. **[DataX](https://github.com/alibaba/DataX)** : DataX is a widely used offline data synchronization tool / platform within the Alibaba company. It enables efficient data synchronization between data sources.
7. **[cat](https://github.com/dianping/cat)** : As a basic component of the server project, CAT provides multilingual clients such as Java, C / C ++, Node.js, Python, Go, etc. The infrastructure middleware framework (MVC framework, RPC framework, database framework, Cache framework, etc., message queue, configuration system, etc.) has been deeply integrated by Meituan, providing system-rich performance indicators, health status, real-time alarms, etc. for each business line of Meituan.
8. **[server](https://github.com/wildfirechat/server)** : Wildfire IM is a cross-platform instant messaging solution, whose core functionality is open sourced.
9. **[EasyScheduler](https://github.com/analysys/EasyScheduler)** : Dolphin Scheduler is a distributed and easy-to-expand visual DAG workflow scheduling system, dedicated to solving the complex dependencies in data processing, making the scheduling system out of the box for data processing.### Message-Oriented Middleware
1. **[RocketMQ](https://github.com/apache/rocketmq)** :A high performance, high throughput distributed messaging middleware that is open source by Alibaba.
2. **[Kafaka](https://github.com/apache/kafka)**: Kafka is a distributed, publish/subscribe based messaging system.
3. **[RabbitMQ](https://github.com/rabbitmq)** : Message queues developed by Erlang based on the protocol implementation of AMQP (Advanced Message Queue protocol).### Others
1. **[halo](https://github.com/halo-dev/halo)** : Halo is a modern personal independent blogging system -- the best Java blogging system.
## 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-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.## Tool
### Common Utils/Code Quality
1. **[guava](https://github.com/google/guava)** : Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, hashing, primitives, strings, and more.
2. **[p3c](https://github.com/alibaba/p3c)** : Alibaba Java Coding Guidelines pmd implements and IDE plugin,Used to improve your programming specifications,This plugin is available on both Eclipse and IDEA and is recommended.
3. **[arthas](https://github.com/alibaba/arthas)** : Arthas is a Java Diagnostic tool open sourced by Alibaba. Arthas allows developers to troubleshoot production issues for Java applications without modifying code or restarting servers.
4. **[sonarqube](https://github.com/SonarSource/sonarqube)** :SonarQube empowers all developers to write cleaner and safer code.
2. **[checkstyle](https://github.com/checkstyle/checkstyle)** :Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.
3. **[pmd](https://github.com/pmd/pmd)** : An extensible multilanguage static code analyzer.
4. **[spotbugs](https://github.com/spotbugs/spotbugs)** : SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.
8. **[hutool](https://github.com/looly/hutool)** : A set of tools that keep Java sweet.### Database
- **[redisson](https://github.com/redisson/redisson)** :Redisson - Redis Java client with features of In-Memory Data Grid. Supports over 30 objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, RPC. [Introduction to the Redisson project](https://github.com/redisson/redisson/wiki/Redisson%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D).
### Others
1. **[thingsboard](https://github.com/thingsboard/thingsboard)** : Open-source IoT Platform - Device management, data collection, processing and visualization.
## Introduction
### Member List