"Java Learning + Interview Guide" covers the core knowledge that most Java programmers need to master. Prepare for Java interviews with JavaGuide! : https://javaguide.cn/
Hello, I'm Guide! This is the ninth issue of JavaGuide's "High-quality Open Source Project Recommendation". In each issue, I will select 5 high-quality Java open source projects.
Portal of "High-quality Open Source Project Recommendations" for the first 8 issues: https://javaguide.cn/open-source-project/
You can find more quality Java open source projects through awesome-java (a great collection of Java open source projects, a must for Java projects).
- Github address: https://github.com/CodingDocs/awesome-java
- Gitee address: https://gitee.com/SnailClimb/awesome-java
- Online reading: https://javaguide.cn/open-source-project/
mini-spring-cloud: A simplified version of Spring Cloud
mini-spring-cloud is a handwritten simplified version of Spring Cloud, designed to help you quickly familiarize yourself with Spring Cloud source code and master its core principles.
mini-spring-cloud implements the core functions provided by the Spring Cloud ecosystem, such as service registration, service discovery, load balancing, integrated Feign to simplify calls, flow control, circuit breaker downgrade, and API gateway. Moreover, for the realization of each function, mini-spring-cloud also comes with detailed source code analysis.
Related reading: Tencent officially open-sources Spring Cloud Tencent to create a one-stop microservice solution
Github address: https://github.com/DerekYRC/mini-spring-cloud
ANTLR: A powerful grammar parser
Antlr (Another Tool for Language Recognition) is a powerful lexical and syntactic parser that can be used to read, process, execute and translate structured text or binary files.
Antlr is widely used in academia and industry to build various languages, tools and frameworks. For example, query parsing in Twitter search is based on ANTLR, and Phoenix, the access client of HBase, uses Antlr for SQL parsing.
Antlr is implemented in Java language and supports programming languages such as Java, C#, JavaScript, Python, Go, C++, Swift, etc. Currently, it has gained 12k+ Stars on Github.
The author of Antlr is Google's Tech Lead and a professor of data science and computer science at the University of San Francisco. Since 1989, he has been deeply involved in the development and research of language tools. It took 25 years until he was satisfied with the release of ANTLR 4.
Related reading: Introduction to Antlr4
- Github address: https://github.com/antlr/antlr4
- Official website: https://www.antlr.org/
Spring Cloud Tencent: Spring Cloud for Tencent
Spring Cloud Tencent is an open source one-stop microservice solution from Tencent.
The capabilities provided by Spring Cloud Tencent include but are not limited to:
- Service registration and discovery
- Dynamic Configuration Management
Service Governance
- Service current limit
- Service fuse
- service routing
- ...
Spring Cloud Tencent officially provides an experience environment, address: http://14.116.241.63:8080/ (both account and password are polaris).
Related reading: Tencent officially open-sources Spring Cloud Tencent to create a one-stop microservice solution
Github address: https://github.com/Tencent/spring-cloud-tencent
QR-Code-generator: High-quality QR code generation library
QR-Code-generator is a high-quality QR code generation library that supports multiple languages (Java, TypeScript/JavaScript, Python, Rust, C++, C).
Compared with the same type of QR code generation library, the code of QR-Code-generator is more concise and the documentation is more detailed.
The code example of Java language to generate QR code based on QR-Code-generator is as follows:
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import io.nayuki.qrcodegen.*;
// Simple operation
QrCode qr0 = QrCode.encodeText("Hello, world!", QrCode.Ecc.MEDIUM);
BufferedImage img = toImage(qr0, 4, 10); // See QrCodeGeneratorDemo
ImageIO.write(img, "png", new File("qr-code.png"));
// Manual operation
List<QrSegment> segs = QrSegment.makeSegments("3141592653589793238462643383");
QrCode qr1 = QrCode.encodeSegments(segs, QrCode.Ecc.HIGH, 5, 5, 2, false);
for (int y = 0; y < qr1.size; y++) {
for (int x = 0; x < qr1.size; x++) {
(... paint qr1.getModule(x, y) ...)
}
}
- Github address: https://github.com/nayuki/QR-Code-generator .
- Official website: https://www.nayuki.io/page/qr-code-generator-library .
forest: the next-generation knowledge community system
forest is a next-generation knowledge community system that can customize topics and portfolios.
The back end of forest is based on SpringBoot + Shrio + MyBatis + JWT + Redis, and the front end is based on Vue + NuxtJS + Element-UI.
A very niche project, it can be seen that the author maintains it more seriously and has great ideas. According to the introduction on the project homepage, this project may also add professional knowledge question banks, community contribution systems, and membership systems in the future.
- Github address: https://github.com/rymcu .
- Demo: https://rymcu.com/ .
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。