「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!:https://javaguide.cn/

你好,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 9 期,每一期我都会精选 5 个高质量的 Java 开源项目。

前 8 期的「优质开源项目推荐」传送门:https://javaguide.cn/open-source-project/

你可以通过 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)找到更多优质的 Java 开源项目。

  • Github 地址:https://github.com/CodingDocs/awesome-java
  • Gitee 地址:https://gitee.com/SnailClimb/awesome-java
  • 在线阅读:https://javaguide.cn/open-source-project/

mini-spring-cloud:简化版 Spring Cloud

mini-spring-cloud 是一个手写的简化版的 Spring Cloud,旨在帮助你快速熟悉 Spring Cloud 源码及掌握其核心原理。

mini-spring-cloud 实现了 Spring Cloud 生态提供的核心功能比如服务注册、服务发现、负载均衡、集成 Feign 简化调用、流量控制、熔断降级、API 网关。并且,对于每一块功能的实现,mini-spring-cloud 还附带了详细的源码解析。

相关阅读:腾讯正式开源Spring Cloud Tencent,打造一站式微服务解决方案

Github 地址:https://github.com/DerekYRC/mini-spring-cloud

ANTLR:强大的语法解析器

Antlr(Another Tool for Language Recognition) 是一款强大的词法和语法解析器,可用于读取、处理、执行和翻译结构化的文本或二进制文件。

Antlr 广泛应用于学术界和工业界构建各种语言、工具和框架,比如 Twitter 搜索中的查询解析就是基于 ANTLR 来做的,再比如 HBase 的访问客户端 Phoenix 使用 Antlr 进行 SQL 解析。

Antlr 使用 Java 语言实现,支持 Java、C#、JavaScript、Python、Go、C++、Swift 等编程语言,目前在 Github 上收获了 12k+ Star。

Antlr 的作者是谷歌的 Tech Lead,同时也是旧金山大学的数据科学和计算机教授,从 1989 年开始就一直深耕语言工具的开发和研究。一直到他自认满意的 ANTLR 4 发布,前后用了 25 年的时间。

相关阅读:Antlr4 简介

  • Github 地址:https://github.com/antlr/antlr4
  • 官网:https://www.antlr.org/

Spring Cloud Tencent:腾讯版 Spring Cloud

Spring Cloud Tencent 是腾讯开源的一站式微服务解决方案。

Spring Cloud Tencent 提供的能力包括但不限于:

  • 服务注册和发现
  • 动态配置管理
  • 服务治理
    • 服务限流
    • 服务熔断
    • 服务路由

Spring Cloud Tencent 官方提供了体验环境,地址:http://14.116.241.63:8080/ (账号和密码都是 polaris)。

相关阅读:腾讯正式开源Spring Cloud Tencent,打造一站式微服务解决方案

Github 地址:https://github.com/Tencent/spring-cloud-tencent

QR-Code-generator:高质量的二维码生成库

QR-Code-generator 是一款支持多语言(Java,TypeScript/JavaScript,Python,Rust,C++,C)的高质量的二维码生成库。

与同类型的二维码生成库相比,QR-Code-generator 的代码更简介并且文档注释更详细。

Java 语言基于 QR-Code-generator 生成二维码的代码示例如下:

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 地址:https://github.com/nayuki/QR-Code-generator 。
  • 官网:https://www.nayuki.io/page/qr-code-generator-library 。

forest:下一代的知识社区系统

forest 是下一代的知识社区系统,可以自定义专题和作品集。

forest 的后端基于 SpringBoot + Shrio + MyBatis + JWT + Redis,前端基于 Vue + NuxtJS + Element-UI。

非常小众的一个项目,看得出来作者维护比较认真,并且很有想法。根据项目首页介绍,这个项目未来还可能会增加专业知识题库、社区贡献系统、会员系统。

  • Github 地址:https://github.com/rymcu 。
  • 演示:https://rymcu.com/ 。

SpringBoot + JWT + Redis 开源知识社区系统相关推荐

  1. Springboot+JWT+Redis实现登陆登出功能

    1:什么是Token?:三部分组成:头+有效负载+签名 1.1 JWT创建中的一些方法讲解: public static String createTokenWithClaim(User user){ ...

  2. 知识图谱-知识抽取(三):非结构化数据【DeepDive:基于远程监督的“关系抽取”】【斯坦福开发的开源知识抽取系统,通过弱监督学习,从非结构化的文本中抽取结构化的关系数据 】

    deepdive是由斯坦福大学InfoLab实验室开发的一个开源知识抽取系统.它通过弱监督学习,从非结构化的文本中抽取结构化的关系数据 .是目前人工智能学习领域的一个热门项目.原文见 http://d ...

  3. 开源SNS社区系统推荐

    社区网站的发展如同网络雨后春笋般地出现,迅速发展壮大.现在的社区网站几乎涵盖了我们生活的各个方面,而各类网站,综合性门户网站等也都青睐于开设自己的SNS社区,以促进用户之间的交流.增加互动性和丰富网站 ...

  4. java SNS网络系统_JEESNS首页、文档和下载 - Java 开源 SNS 社区系统 - OSCHINA - 中文开源技术交流社区...

    温馨提示:该项目已开放源码,未经购买授权,任何组织和个人都不得用于商业用途,并且不得修改代码和去除底部的版权信息. JEESNS 开发语言:JAVA 数据库:MYSQL 开发框架:Spring MVC ...

  5. 推荐一个基于Springboot+Vue的开源博客系统

    简介 这是一个基于Springboot2.x,vue2.x的前后端分离的开源博客系统,提供 前端界面+管理界面+后台服务 的整套系统源码.响应式设计,手机.平板.PC,都有良好的视觉效果! 你可以拿它 ...

  6. JEESNS V1.4 发布,JAVA 开源 SNS 社区系统

    JEESNS是一款基于JAVA企业级平台研发的社交管理系统,依托企业级JAVA的高效.安全.稳定等优势,开创国内JAVA版开源SNS先河,数据库使用MYSQL. 应用场景 JEESNS是一个企业级的开 ...

  7. Springboot+Jwt+vue的水果销售系统

    功能例图 E-R图 界面 代码分析 1.项目是springboot+vue的项目,后端运用springboot框架,数据库框架用的是mybatis框架,管理工具用的maven.并运用jwt实现安全可靠 ...

  8. 带有分销体系的开源知识付费系统——cremb

    提到分销,很多人都只有一个模糊的概念,认为只是向下延伸渠道,这种认知只对了一半.那么分销是什么意思,为什么还要选择分销呢?当然是企业为了有更多的渠道销售商品了,渠道=市场,分销的最终目的也就达到了. ...

  9. JEESNS V1.2.0-RC3 发布,Java 开源 SNS 社区系统

    JEESNS V1.2.0-RC3已发布,JEESNS 是一款基于 JAVA 企业级平台研发的社交管理系统,依托企业级 JAVA 的高效.安全.稳定等优势,开创国内 JAVA 版开源 SNS 先河.数 ...

最新文章

  1. RabbitMQ ——“Hello World”
  2. 仿苹果通知显示在图标右上角上
  3. 知识图谱入门视频(三)
  4. docker $PWD路径_Docker 数据持久化
  5. 组网技术-路由与交换技术(五)
  6. 开发一个软件需要哪些角色
  7. 给摩托罗拉C1200数字对讲机写频
  8. 阿里云服务器或聚石塔的容器无法访问外网问题
  9. Power BI的基本操作
  10. 区块链技术指南学习(五)双花
  11. 常用的几种量化选股方法
  12. 奥鹏计算机19春在线作业,东师多媒体计算机技术19春在线作业2【标准答案】
  13. insightface人脸识别代码记录(一)(数据前期准备)
  14. excel2007计算机试题,巧用excel2007/2003进行拍照
  15. 机器学习(五)logistic回归
  16. LAMP编程之Linux(2)
  17. 推荐系统 | (3) 可解释推荐系统---身怀绝技,一招击中用户心理
  18. 用python编程 商品打折怎么计算_(特价书)从问题到程序:用Python学编程和计算
  19. mysql 查询主键和主键列,查询Mysql表名、主键、列名
  20. kafka sql入门

热门文章

  1. “中文问题没商量”之Ant中的中文问题
  2. python画一个点_python中画散点图
  3. 多音字重组成新的词语句子
  4. 迷你DVD管理系统---Java基本
  5. 2021年6月1日TED演讲,早起早睡的人生到底有多精彩?
  6. RK3568平台开发系列讲解(摄像头篇)使用 Camera 的步骤
  7. java中jar包怎么下载
  8. Ubuntu设置清华源
  9. 【C++习题笔记】谭浩强C++程序设计(第三版)第七章
  10. k-means算法及python实现