I seem to have forgotten to post the project address: github.com/Snailclimb/…
Awsome Java
Great Java Project on Github Great Java Project on Github
English Version
Everyone knows that Github is a programmer’s paradise, with all sorts of cool open source frameworks, software, and tutorials. These things are great for learning and improving, so I came up with the idea of putting together some of the great Java open source projects on Github. I will categorize projects in several dimensions so that you can refer to them. Of course, if you feel good, welcome to this project point a Star. I will continue to improve this list in my spare time, thank you 🙏.
Welcome to recommend your favorite Java projects. The following projects are sorted based largely on the number of stars of the current projects.
The tutorial
Java
- JavaGuide: A Java learning + Interview Guide that covers the core knowledge that most Java programmers need to master.
- Cs-notes: Basic knowledge of technical interview, Leetcode problem solving, back-end interview, Java interview, spring recruitment, autumn recruitment, operating system, computer network, system design.
- Complete Literacy of Java engineers: it covers high concurrency, distributed, high availability, microservices, mass data processing and other fields.
- Design-awesome: Back-end architect technical map.
- ToBeTopJavaer: The Path to God for Java Engineers.
- Tutorials: The project was a series of small, focused tutorials — each covering a single, well-defined development area of the Java ecosystem. Of course, they focus on the Spring Framework – Spring, Spring Boot, and Spring Securiyt. In addition to Spring, there are the following technologies: core Java, Jackson, HttpClient, Guava.
- JCSprout: An embryonic Java core repository.
- JavaFamily: [Internet first-line factory interview + study guide] advanced knowledge complete literacy.
- JGrowing: Java is Growing up but not only Java. Java growth path, but learn more than Java.
Data structures/algorithms
- LeetCodeAnimation :Demonstrate all the questions on LeetCode in the form of animation.
- TheAlgorithms-Java :All Algorithms Implemented in Java.
SpringBoot
- SpringAll: step by step, learn Spring Boot, Spring Boot & Shiro, Spring Cloud, Spring Security & Spring Security OAuth2, blog Spring series source code.
- Springboot-learning-example: Spring Boot practice learning cases, is the best practice of Spring Boot beginners and core technology consolidation.
SpringCloud
- SpringCloudLearning: The simplest SpringCloud tutorial source code ever.
- SpringCloud: Microservices development scaffolding based on SpringCloud2.1, integrating Spring-Security-OAuth2, nacOS, Feign, Sentinel, SpringCloud-Gateway, and more. Elasticsearch, Skywalking, Springboot-Admin, Zipkin and so on are introduced in service governance, so that project development can quickly enter business development without spending too much time on architecture construction.
Big data
- Bigdata-notes: getting started with BigData ⭐️.
- Flink – Learning: including flink introduction, concept, principle, actual combat, performance tuning, source code analysis and other content.
Design patterns
- Java-design-patterns: Design Patterns Implemented in Java.
The framework
-
Spring-boot: Spring Boot makes it easy to create standalone production-grade Spring-based applications, with a built-in Web server that lets you run projects like normal Java programs. In addition, most Spring Boot projects require minimal configuration, unlike Spring reconfiguration.
-
Flink: Apache Flink is a framework and distributed processing engine used in
Borderless and borderlessStateful calculations are performed on the data stream. Flink runs in all common cluster environments and can perform calculations at memory speed and at any scale.
-
Sentinel: A Lightweight powerful flow control component enabling reliability and monitoring for Microservices Library).
-
Dubbo: Apache Dubbo is a high-performance open source RPC framework based on Java.
-
Spring-cloud-kubernetes: Kubernetes integrated Spring Cloud Discovery Client, Configuration, etc… .
-
Seata: SeATA is an easy-to-use, high-performance, Java-based open source distributed transaction solution.
-
Skywalking: Application performance monitoring for distributed systems, especially for microservices, cloud native, and container-oriented distributed system architectures.
Software/System
The development of
- Elasticsearch: Open source, distributed, RESTful search engine.
- Zipkin: Zipkin is a distributed tracking system. It helps to gather the timing data needed to address latency issues in the service architecture. Functions include collection and lookup of this data.
- Apollo: Apollo is a distributed configuration center developed by The Framework department of Ctrip. It can centrally manage configurations in different environments and clusters, and push configurations to applications in real time after modification. It has standardized permissions and process governance features, and is suitable for micro-service configuration management scenarios.
- Canal: Alibaba MySQL binlog incremental subscription & consumption component
- DataX: DataX is a widely used offline data synchronization tool/platform within Alibaba Group. Implement efficient data synchronization among heterogeneous data sources including MySQL, Oracle, SqlServer, Postgre, HDFS, Hive, ADS, HBase, TableStore(OTS), MaxCompute(ODPS), AND DRDS.
- Cat: As the basic component of the server project, CAT provides Java, C/C++, Node.js, Python, Go and other multi-language clients. It has been deeply integrated into meituan-Dianping’s infrastructure middleware framework (MVC framework, RPC framework, database framework, cache framework, message queue, configuration system, etc.). Provide rich system performance indicators, health status and real-time alarms for meituan Dianping’s business lines.
- Server: Wildfire IM is a cross-platform instant messaging solution with open source core functions.
- EasyScheduler: EasyScheduler is a distributed workflow task scheduling system, which mainly solves the problem that “complex tasks depend on but task health status cannot be monitored directly”. Easy Scheduler assembles tasks in DAG mode and can monitor the running status of tasks in real time. It also supports retry, rerun, etc… .
other
- Halo :Halo is probably the best Java blogging system out there.
In actual combat
- Mall: Mall project is a set of e-commerce system, including the front mall system and background management system, based on SpringBoot+MyBatis.
- mall-swarm : Mall-swarm is a set of micro service mall system, which adopts Spring Cloud Greenwich, Spring Boot 2, MyBatis, Docker, Elasticsearch and other core technologies. Meanwhile, it provides a vUe-based management background convenient and quick construction system.
- Litemall: Another small mall. Litemall = Spring Boot back end + Vue administrator front end + wechat small program user front end + Vue user mobile end
- VHR: Micro hr is a human resource management system with the separation of front and back ends. The project adopts SpringBoot+Vue development.
- Febs-shiro: Spring Boot 2.1.3, Shiro1.4.0 & Layui 2.5.4 Rights management system.
tool
- Guava: Guava is a core set of libraries that includes new set types (e.g., multimap and multiset), immutable sets, graphics libraries, and utilities for concurrency, I/O, hashing, primitive types, strings, and more!
- P3c: Alibaba Java Coding Guidelines PMD implements and IDE Plugin. The plugin is available on Eclipse and IDEA.
- Arthas: Arthas is an open source Java diagnostic tool for Alibaba.
- Hutool: Hutool is a Java toolkit, and only a toolkit, that helps us simplify every line of code, eliminate every method, and make the Java language sweet.
- Thingsboard: Open source Iot platform – device management, data collection, processing and visualization.
Open Source Project Recommendation
Other open source projects recommended by the authors:
- JavaGuide: A Java learning + Interview Guide that covers the core knowledge that most Java programmers need to master.
- Springboot-guide: A Spring Boot tutorial for beginners and experienced developers.
- Advancer-advancement: I think there are some good habits that technical people should have!
- Spring-security-jwt-guide: Start from Scratch! Spring Security With JWT (including permission validation) backend part of the code.