16 Java Open Source Projects worth your attention as the year draws to a close!
This article has been compiled from my open source JavaGuide: github.com/Snailclimb/… (Java Learning + Interview Guide) A document that covers the core knowledge that most Java programmers need to master.
The number of Star was calculated at 2019-12-29.
1.JavaGuide
Guide brother began to maintain in the third year, which is the largest number of Star projects in pure Java type projects. However, the value of this repository is far (+N times) inferior to very, very, very good projects like Spring Boot, Elasticsearch, etc. Hopefully I will be able to contribute some valuable code to these projects in the future.
- Github address: github.com/Snailclimb/…
- Star: 66.3 k
- Introduction: [Java learning + Interview Guide] a book that covers the core knowledge that most Java programmers need to master.
2.java-design-patterns
It feels good. According to the official website:
Design patterns are the best formal practices programmers can use to solve common problems when designing applications or systems. Design patterns can speed up the development process by providing tested, proven development paradigms. Reusing design patterns helps prevent subtle problems that cause major problems, and it also improves code readability for coders and architects familiar with the patterns.
- Github address: github.com/iluwatar/ja…
- Star: 53.8 k
- Introduction: Design patterns implemented in Java. Java-design-patterns.com.
3.elasticsearch
The leader of the search engine world, but not just the search engine.
- Github address: github.com/elastic/ela…
- Star: 46.2 k
- Open source, distributed, RESTful search engine.
4.spring-boot
Must learn ah, must be good to learn! Are there any new Java backend projects developed without Spring Boot? If so, please tell me this person’s contact information, I have a lot of words to communicate with him!
- Github address: github.com/spring-proj…
- Star: 348K (1073 stars this month)
- Introduction: While Spring’s component code is lightweight, its configuration is heavyweight (requiring a lot of XML configuration), but Spring Boot has made that a thing of the past. In addition, Spring Cloud is also built based on Spring Boot, which is very necessary for me to learn.
5.RxJava
I haven’t used that much, so I don’t comment too much.
- Github address: github.com/ReactiveX/R…
- Star: 41.5 k
- introduce:
RxJava
Is a library that implements asynchronous operation based on event flow.
6.advanced-java
Most of the content of this project comes from a course of Huperia Chinense, covering high concurrency, distributed, high availability, micro services, mass data processing and other fields of knowledge, very good!
- Github address: github.com/doocs/advan…
- Star: 36.7 k
- Introduction: Internet Java Engineer Advanced Knowledge complete Literacy: covering high concurrency, distributed, high availability, microservices and other fields of knowledge, back-end students must see, front-end students can also learn.
7.mall
The actual combat project is very awesome, but also with detailed documentation, as a graduation project or practice are good.
- Github address: github.com/macrozheng/…
- Star: 27.6 k
- Mall project is a set of e-commerce system, including the front mall system and background management system, based on SpringBoot+MyBatis. The front desk mall system includes home page portal, product recommendation, product search, product display, shopping cart, order process, member center, customer service, help center and other modules. Background management system includes commodity management, order management, membership management, promotion management, operation management, content management, statistical reports, financial management, authority management, setting and other modules.
8.okhttp
It seems to me that android was used more than any other project. Of course, Java back-end projects are often used, but when developing with Spring Boot, it is recommended to use spring-wrapped RestTemplate if remote calls are required.
- Github address: github.com/square/okht…
- Star: 35.4 k
- Introduction: HTTP client for Android, Kotlin and Java. Square. Making. IO/okhttp /.
9.guava
Great, great! It provides a lot of very useful utility classes, more useful collection classes, some common data structures such as Bloom filters, caches, and so on.
- Github address: github.com/google/guav…
- Star: 35.3 k
- Guava is a set of core libraries that include new set types (such as multimap and multiset), immutable sets, graphics libraries, and utilities for concurrency, I/O, hashing, primitives, strings, and more!
10.Spark
I did not use, left no technical tears.
- Github address: github.com/apache/spar…
- Star: 24.7 k
- Introduction: Spark is a fast and versatile large-scale data processing engine, similar to MapReduce computing framework of Hadoop. Compared with MapReduce, Spark is scalable, memory-based computing, and can directly read and write data in any format on Hadoop. Batch processing is more efficient and has lower latency.
11.arthas
Although I have not personally used, but around the use of friends are very good evaluation. According to the website, this guy can solve the following headache problems:
- From which JAR is this class loaded? Why are all kinds of class-related exceptions reported?
- Why didn’t the code I changed execute? Did I not commit? Got the branch wrong?
- If you encounter a problem, you cannot debug it online. Can you only re-publish it by logging?
- There is a problem with a user’s data processing online, but it cannot be debugged online, and it cannot be reproduced offline!
- Is there a global view of the health of the system?
- Is there any way to monitor the real-time health of the JVM?
- How to quickly locate application hot spots, generate flame map?
- Github address: github.com/alibaba/art…
- Star: 18.8 k
- Arthas is an open source Java diagnostic tool for Alibaba.
12.spring-boot-examples
Learn Spring Boot essentials! With my Springboot-Guide: github.com/Snailclimb/… , the effect is great!
- Github address: github.com/ityouknow/s…
- Star: 20.2 k
- Introduction: Spring Boot tutorial, technology stack example code, quick and easy to get started tutorial.
13.lombok
Using Lombok we can simplify our Java code by, for example, annotating getters/setters, equals, etc.
- Github address: github.com/rzwitserloo…
- Star: 20.2 k
- Introduction: a very exciting addition to the Java programming language. Projectlombok.org/.
14.p3c
Not particularly impressive to me, but some of the code specifications provided are quite useful!
- Github address: github.com/alibaba/p3c
- Star: 19.8 k
- Alibaba Java coding guide PMD implementation and IDE plug-in.
15.spring-boot-demo
- Github address: github.com/xkcoding/sp…
- Star: 8.8 k
- Spring Boot Demo is a deep learning and practical Spring Boot project.
16. awesome-java
Guide brother began to maintain more than half a month ago. Although the number of stars is relatively small now, I believe that more people will love this project in the future, and I will continue to maintain it seriously.
- Github address: github.com/Snailclimb/…
- Star: 0.3 k
- Github is a great collection of Java open source projects.
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.