商汇粹外网资源平台

搜索
查看: 2354|回复: 4

GitHub 上都有哪些值得关注学习的 Java 开源项目?

[复制链接]

该用户从未签到

8

主题

24

帖子

86

积分

注册会员

Rank: 2

积分
86
发表于 2022-9-27 11:41:19 | 显示全部楼层 |阅读模式
8月份Github上最热门的Java项目排行新鲜出炉,此次上榜的项目中,与Spring相关的项目占据了大半,一起来看看你都知道哪些,或者有哪些你已经在使用的了。

1vhr


https://github.com/lenve/vhr  Star 8307
微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。

2miaosha
https://github.com/qiurunze123/miaosha Star 9670
该项目是对高并发大流量如何进行秒杀架构,而做的一个系统整理,如果你完全没接触过 MQ、SpringBoot、Redis、Dubbo、ZK 、Maven,lua等,那么我建议你可以先在网上搜一下每一块知识的快速入门

3cat
https://github.com/dianping/cat Star 10723
CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。

4toBeTopJavaer
https://github.com/hollischuang/toBeTopJavaer Star 6281
Java工程师成神之路,完整大纲如下:


5spring-cloud-alibaba
https://github.com/alibaba/spring-cloud-alibaba Star 7759
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。通过它,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

6mall-learning
https://github.com/macrozheng/mall-learning Star 1478
mall学习教程,架构、业务、技术要点全方位解析。mall项目(18k+star)是一套电商系统,使用现阶段主流技术实现。 涵盖了SpringBoot2.1.3、MyBatis3.4.6、Elasticsearch6.2.2、RabbitMQ3.7.15、Redis3.2、Mongodb3.2、Mysql5.7等技术,采用Docker容器化部署。

7SpringAll
https://github.com/wuyouzhuguli/SpringAll Star 7837
该仓库为个人博客中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2。



8solo
https://github.com/b3log/solo Star 9589
Solo是一款小而美的博客系统,专为程序员设计,有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动。



9interviews
https://github.com/kdn251/interviews Star 37655
Java工程师面试指南,里面涵盖几乎所有软件工程师面试时会碰到的问题以及答案。



10nacos
https://github.com/alibaba/nacos Star 7615
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。



11SpringCloud
https://github.com/zhoutaoo/SpringCloud Star 906
该项目基于SpringCloud2.0的微服务开发脚手架,整合了spring-security-oauth2、apollo、eureka、feign、hystrix、springcloud-gateway、springcloud-bus等。治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。

                                                                   (完)
我自己开了一个公众号:“java经验总结”里面也有学习资料,和面试题目,目前我也是在努力坚持在更,有句话说,做什么都不晚,只要你去做。坚持才是胜利,跑在第一的人也许所有人目前都在为他欢呼,他只是短暂的胜利,最终的胜利和欢呼是给那些又不放弃的人。
回复

使用道具 举报

该用户从未签到

11

主题

45

帖子

155

积分

注册会员

Rank: 2

积分
155
发表于 2022-9-27 11:49:39 | 显示全部楼层
「优质 Java 开源项目推荐」系列传送门: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/
Mindustry:沙盒塔防游戏


Mindustry 是一款 Java 语言编写的沙盒塔防游戏,目前已经上架 Apple Store、Google Play 和 Steam,支持 Windows,Linux,安卓等平台。
是的!!!你没看错,这款游戏就是使用 Java 语言编写的。
目前的话,这个游戏在 Apple Store 评分 4.7,Google Play 评分 4.6, Steam 上也有 96% 的好评。非常厉害了!


这个游戏的很多用户直呼:“一玩就停不下来了!”

另外,这个项目使用 Gradle 构建,如果你想要在本地运行这个游戏的话,你的 JDK 版本至少是 JDK16。
作者在 README 文档中提供了这个项目详细的运行方法,你可以直接在本地对游戏进行修改。
不过,最让我佩服的是这个项目作者的毅力。虽然这个游戏已经发布 4 年多了,但是作者依然还在不断维护游戏,不断完善游戏的玩法。
大家感受一下项目作者的提交记录吧!简直恐怖如斯!


  • 项目地址:https://github.com/Anuken/Mindustry
  • 官网:https://mindustrygame.github.io/
JavaGuide:Java 面试+学习指南

大学里学习 Java 的同学比较多,所以这里也推荐一个学习 Java 必备的项目。
「Java 学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识

Github 地址:https://github.com/Snailclimb/JavaGuide
在线网站(推荐):https://javaguide.cn/
推荐一个纯净的 Java 学习&面试网站:https://javaguide.cn/

mall4cloud:微服务商城系统

mall4cloud 是一个高质量的微服务 B2B2C 电商商城系统。

开源的商城项目已经有非常多了,mall4cloud 这个项目我觉得有下面这些亮点:

  • 技术栈主流 :Spring Boot + Spring Cloud Alibaba;
  • 代码质量相对较高 :完全准守阿里巴巴代码规约;
  • 功能完善 :除了具备商城最基本的功能之外,还自带丰富的营销工具。
不过,比较遗憾的是这个商城项目的 Web 端的话暂未开源。

  • Github 地址:https://github.com/gz-yami/mall4cloud
  • Gitee 地址:https://gitee.com/gz-yami/mall4cloud
  • 官网:https://www.mall4j.com
相关文章推荐:这个 SpringBoot 电商系统值得推荐!
mini-spring-cloud:简化版 Spring Cloud

mini-spring-cloud 是一个手写的简化版的 Spring Cloud,旨在帮助你快速熟悉 Spring Cloud 源码及掌握其核心原理。
mini-spring-cloud 实现了 Spring Cloud 生态提供的核心功能比如服务注册、服务发现、负载均衡、集成 Feign 简化调用、流量控制、熔断降级、API 网关。并且,对于每一块功能的实现,mini-spring-cloud 还附带了详细的源码解析。

Github 地址:https://github.com/DerekYRC/mini-spring-cloud
推荐一个纯净的 Java 学习&面试网站:https://javaguide.cn/

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/
推荐一个纯净的 Java 学习&面试网站:https://javaguide.cn/

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

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

与同类型的二维码生成库相比,QR-Code-generator 的代码更简介并且文档注释更详细。
Java 语言基于 QR-Code-generator 生成二维码的代码示例如下:


  • 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/ 。
推荐一个纯净的 Java 学习&面试网站:https://javaguide.cn/

SurveyKing:更专业的调查问卷系统


SurveyKing(卷王) 是一个开源免费、功能强大、稳定的调查问卷系统,安装使用非常简单,支持多种数据库,内置20多种题型, 支持多人协作管理问卷。
下图是 SurveyKing 与其他常见的问卷产品之间的对比:

SurveyKing 技术栈也是主流技术:

  • 后端:基于 Spring Boot +MyBatis Plus+ FastExcel + Spring Security + JWT+ Thumbnailator+ Caffeine(内存缓存)+ MapStruct (Java Bean 映射工具)。
  • 前端:代码还未开源,技术栈未知,待项目稳定之后也会有开源出来。
FastExcel 是一个用于快速读取 Excel 文件的工具库,Thumbnailator 是一个图像处理工具库,我在「第五期优质开源项目推荐」中推荐过这个项目。
SurveyKing 使用效果预览:



  • Github 地址:https://github.com/javahuang/surveyking
  • 官网:https://surveyking.cn/
  • 在线演示:https://s.surveyking.cn/user/login
zfoo:极致性能 Java 框架


zfoo 是一款个人开发的追求极致性能的Java框架,既可以用来做网站服务器框架,也可以用来做游戏服务器框架。
tank-game-server(坦克游戏,新手友好,难度2星) 和 zapp (图片分享聊天网站,难度5星)是使用 zfoo 框架开发的两个实际项目案例。

Github 地址:https://github.com/zfoo-project/zfoo 。
推荐一个纯净的 Java 学习&面试网站:https://javaguide.cn/

junit5:Java 测试框架


junit4 是最常用的单元测试框架,写过单元测试的肯定都用过它。
junit5 是 junit4 的下一个版本,由三个模块构成:JUnit Platform+ JUnit Jupiter+ JUnit Vintage3。相比较与 junit4,junit5 有更多易用的新特性比如嵌套单元测试、Lambda支持、重复测试。  


  • Github 地址:https://github.com/junit-team/junit5
  • 官方文档:https://junit.org/junit5/docs/current/user-guide/
Sa-Token:功能全面的Java权限认证框架

Sa-Token 是一款功能非常全面的Java权限认证框架,支持登录认证、权限认证、踢人下线,账号封禁、单点登录、OAuth2.0认证等功能,开箱即用!

下面是部分使用 Sa-Token 进行权限认证的项目:

  • EasyAdmin :一个基于SpringBoot2 + Sa-Token + Mybatis-Plus + Snakerflow + Layui 的后台管理系统,灵活多变可前后端分离,也可单体,内置代码生成器、权限管理、工作流引擎等。
  • Sa-Plus :一个基于 SpringBoot 架构的快速开发框架,内置代码生成器。
  • RuoYi-Vue-Plus : 重写 RuoYi-Vue 针对 分布式集群 场景全方位升级(不兼容原框架)。
  • ......
值得提一嘴的是,Sa-Token 这个项目诞生来源于工作中的需求,这个项目的作者公司的项目需要用到踢人下线、账号封禁等功能,他在找了一圈之后发现现有的权限认证框架第一没有现成的功能,于是他就自己写了一个框架。不愧是大佬!

  • Github 地址:https://github.com/dromara/Sa-Token
  • 官网:https://sa-token.dev33.cn/index.html
推荐一个纯净的 Java 学习&面试网站:https://javaguide.cn/

spring-boot-tutorial:Spring Boot 教程

spring-boot-tutoria 这个项目包含了 100 +  Spring Boot 文章、教程、视频教程、项目、指南、源代码示例......。
视频教程:

文章:

Github 地址:https://github.com/RameshMF/spring-boot-tutorial
Java 面试学习网站推荐

再强烈强烈强烈推荐一个 Github 12w+ star 的 Java 面试项目,这个项目会非常详细地告诉你 Java 面试需要准备什么,结构清晰,内容质量非常高。

这个项目的知识点总结的非常好,拿来复习对应的知识点也是非常不错的选择。另外,如果你是新手的话,参照着这个项目的目录去学习也是很不错的。
这个项目就是 JavaGuide ,我的学长 Guide哥 维护的一份涵盖大部分 Java 程序员所需要掌握的核心知识的开源文档。
其实,不光是 Java 程序员可以阅读这份教程,里面的很多内容对于程序员来说都是通用的。

并且,项目里面的文章质量非常高,非常适合拿来准备面试或者复习知识点。
真不是我刻意吹捧这位学长的项目,我校计算机科学学院的很多老师都多次推荐过这个项目,我认识的很多计科院的同学都是参考这份文档来学习以及备战面试的。

  • Github 地址: https://github.com/Snailclimb/JavaGuide 。
  • Gitee 地址:https://gitee.com/SnailClimb/JavaGuide 。
  • 在线阅读网站: https://javaguide.cn/ 。
Github掘金计划由3位志同道合热爱开源的小伙伴维护,我们想让 Github 和 Gitee 上优质的开源项目被更多人看到!
如果有帮助的话点个在看或者赞就是对我们最大的鼓励!欢迎关注@Github掘金计划,持续分享优质开源项目!
回复

使用道具 举报

该用户从未签到

5

主题

30

帖子

124

积分

注册会员

Rank: 2

积分
124
发表于 2022-9-27 11:57:59 | 显示全部楼层
我推荐一个拥有从零开始的文档的项目,既能用于毕设又可以在面试的时候大放异彩。
该项目业务极容易理解,代码结构还算是比较清晰,最可怕的是几乎每个方法和每个类都带有中文注释
拥有非常全的文档,作者从零搭建的过程一一都有记录,项目使用了蛮多的可靠和稳定的中间件的,包括并不限于SpringBoot、SpringDataJPA、MySQL、Docker、docker-compose、Kafka、Redis、Apollo、prometheus、Grafana、GrayLog、xxl-job等等。在使用每一个技术栈之前都讲述了为什么要使用,以及它的业务背景。我看过,他所说的场景是完全贴合线上环境的。
跟着README文档的部署使用姿势就能跑起来,一步一步debug挺有意思的,作者还搞了个前端后台管理系统就让整个系统变得更好理解了。并且在GitHub或者Gitee提的Issue几乎都会有回复,也非常乐于合并开发者们的pull request,会让人参与感贼强。
我相信在校、工作一年左右或常年做内网CRUD后台的同学去看看肯定会有所启发,作者会经常在群里回答该项目相关的问题和代码设计思路。
B站也在开始更新消息推送平台的视频哟!

目前这个项目GitHub和Gitee加起来已经4K stars了,我相信破万是迟早的事情。 嗯,没错。这个项目叫做austin,是我写的
消息推送平台-Austin就是奔着真实互联网线上项目去设计和实现的,将项目克隆下来把中间件换成目前公司在用的,完善下基础建设它就能成为线上项目  

austin项目核心功能:统一的接口发送各种类型消息,对消息生命周期全链路追踪     

项目出现意义:只要公司内有发送消息的需求,都应该要有类似austin的项目,对各类消息进行统一发送处理。这有利于对功能的收拢,以及提高业务需求开发的效率     

austin项目核心流程:austin-api接收到发送消息请求,直接将请求进MQ。austin-handler消费MQ消息后由各类消息的Handler进行发送处理     






项目Gitee链接:

项目GitHub链接:
回复

使用道具 举报

该用户从未签到

2

主题

11

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2022-9-27 12:06:19 | 显示全部楼层
crossoverJie/SSM   这个不错,从入门到分布式应用。
回复

使用道具 举报

该用户从未签到

0

主题

20

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2022-9-27 12:14:39 | 显示全部楼层
曾经我也因为缺少项目经验而焦头烂额,在网上找了好久,也没能找到合适的Java项目。下面分享下我觉得值得关注学习的一些 Java 开源项目。
首先,什么样的开源项目是好的项目?
我认为有两点:

  • star和fork较多,说明这个项目比较受欢迎,总体质量较高
  • 文档齐全,方便上手。题主也说了,写了一个社交网站,但是因为没有前端开发经验最终在奋斗了2个月后流产了。如果项目有比较完善的文档,那么就不会有这种情况了。
作为非科班转码的我,曾经也遇到过很多同学初学Java都会遇到一个问题,不知道去哪里找Java的项目练手。以前我也遇到这个问题,现在在这里分享一些比较值得学习的项目。
首先给大家推荐几个Java项目的视频教程,都是B站上的视频,风评很好,讲解也非常详细,有兴趣的可以看一下~
尚硅谷尚筹网Java项目实战开发教程:
https://www.bilibili.com/video/BV1bE411T7oZ
尚硅谷Java微服务+分布式+全栈项目【尚医通】
https://www.bilibili.com/video/BV1V5411K7rT
Java Web项目实战-畅购商城:
https://www.bilibili.com/video/BV13J411k7aQ


下面介绍下GitHub上一些比较优秀的Java项目。
mall

star:52k
https://github.com/macrozheng/mall
mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
文档非常详细,强烈推荐!










newbee-mall

star:7.8k
https://github.com/newbee-ltd/newbee-mall
newbee-mall 项目是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。





litemall

star:16.2k
https://github.com/linlinjava/litemall
又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端。
小商城功能:

  • 首页
  • 专题列表、专题详情
  • 分类列表、分类详情
  • 品牌列表、品牌详情
  • 新品首发、人气推荐
  • 优惠券列表、优惠券选择
  • ...










在这里也分享一份非常棒的Java学习笔记,Github标星137k+!这份笔记主要Java基础、容器、Java IO、并发和虚拟机等内容,排版精良,内容更是无可挑剔。





需要的小伙伴可自行下载:
http://mp.weixin.qq.com/s?__biz=Mzg2OTY1NzY0MQ==&mid=100000392&idx=1&sn=f6c8e84651ce48f6ef5b0d496f0f6adf&chksm=4e98ffce79ef76d8dcebdc4787ae8b37760ec193574da9036e46954ae8954ebd56c78792726f#rd
eladmin

star:16.2k
https://github.com/elunez/eladmin
一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue的前后端分离的后台管理系统。项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。
项目提供了非常详细的文档,地址是https://el-admin.vip
项目体验地址:https://el-admin.xin
使用的技术栈也比较新,给作者点赞!










vhr

star:22.2k
https://github.com/lenve/vhr
微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。项目加入常见的企业级应用所涉及到的技术点,例如 Redis、RabbitMQ 等。





My-Blog

star2.2k
https://github.com/ZHENFENG13/My-Blog
My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验!







ForestBlog

star3.2k
https://github.com/saysky/ForestBlog
一个简单漂亮的SSM(Spring+SpringMVC+Mybatis)博客系统。该博客是基于SSM实现的个人博客系统,适合初学SSM和个人博客制作的同学学习。





Blog

star1.2k
https://github.com/zhisheng17/blog
My-Blog 使用的是 Docker + SpringBoot + Mybatis + thymeleaf 打造的一个个人博客模板。此项目在 Tale 博客系统基础上进行修改的。





community

star:1.8k
https://github.com/codedrinker/community
码问社区。开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap。






vblog

star:6.5k
https://github.com/lenve/VBlog
V部落,Vue+SpringBoot实现的多用户博客管理平台!
后端主要采用了:
1.SpringBoot 2.SpringSecurity 3.MyBatis 4.部分接口遵循Restful风格 5.MySQL
前端主要采用了:
1.Vue 2.axios 3.ElementUI 4.vue-echarts 5.mavon-editor 6.vue-router





gpmall

star:4.3k
https://github.com/2227324689/gpmall
【咕泡学院实战项目】基于SpringBoot+Dubbo构建的电商平台。业务模块划分,尽量贴合互联网公司的架构体系。所以,除了业务本身的复杂度不是很高之外,整体的架构基本和实际架构相差无几。
后端的主要架构是基于springboot+dubbo+mybatis。










guns

star:3.4k
https://github.com/stylefeng/Guns
Guns是一个现代化的Java应用开发框架,基于主流技术Spring Boot2,Guns的核心理念是提高开发人员开发效率,降低企业信息化系统的开发成本,提高企业整体开发水平。
Guns基于插件化架构,在建设系统时,可以自由组合细粒度模块依赖,实现不同功能的组合和剔除,让项目体积灵活控制,从而更方便地搭建不同的业务系统。
使用Guns可以快速开发出各类信息化管理系统,例如OA办公系统、项目管理系统、商城系统、供应链系统、客户关系管理系统等。





music-website

star:2.3k
https://github.com/Yin-Hongwei/music-website
音乐网站。客户端和管理端使用 Vue 框架来实现,服务端使用 Spring Boot + MyBatis 来实现,数据库使用了 MySQL
前端技术栈:Vue3.0 + TypeScript + Vue-Router + Vuex + Axios + ElementPlus + Echarts。









码字不易,如果觉得对你有帮助,可以点个赞鼓励一下
我是 @程序员大彬 ,专注Java后端硬核知识分享,欢迎大家关注~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表