pursue wind pursue wind
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
  • 技术面试题篇

  • 面试准备篇

    • Java 优质面试视频推荐
    • 程序员简历到底该怎么写?
    • 接触不到高并发场景咋办?如何获得高并发的经验?
    • 面试常见词汇扫盲
    • 没有项目经验怎么办?跟着视频做的项目会被面试官嫌弃不?
    • 项目经验常见问题解答(补充)
    • 优质 Java 实战项目推荐
      • 业务类开源项目
        • 社区系统
        • 小说网站
        • 在线文档管理
        • 导航网站
        • 音乐网站
        • 健身会员管理系统
      • 轮子类开源项目
        • 本地缓存
        • RPC 框架
        • 数据库
        • 编译器
      • 国外公开课 Lab
        • 手写关系型数据库
        • 手写分布式 KV 存储
      • 视频类实战项目教程
    • 去外包对自己的简历有影响么?
    • 如何准备 Java 面试?
    • 为什么要学习源码?源码这块面试会怎么问呢?如何阅读源码?
    • 为什么要准备算法面试?怎么高效刷 Leetcode?
    • 如果面试官问“你有什么问题问我吗?”,该如何回答?
  • 技术面试题自测篇

  • 练级攻略篇

  • 工作篇

  • 面经篇

  • 笑傲Java面试

  • LeetCode

  • 面试
  • 面试准备篇
pursuewind
2020-11-22
目录

优质 Java 实战项目推荐

# 业务类开源项目

# 社区系统

upupor (opens new window) 是一个小众但是功能强大,代码质量也还可以的开源社区,挺适合作为学习的项目。 最主要的是这个项目目前知名度非常非常低,没有项目经历的小伙伴也可以改造升级一下拿来作为自己的项目经历。

技术栈 :

  • 后端:Spring Boot + MySQL + Redis + Undertow(Web 容器)
  • 前端 :Thymeleaf(模板引擎,方便 SEO)+ Bootstrap

相关地址 :

  • Github 地址:https://github.com/yangrunkang/upupor (opens new window) 。
  • 在线演示:https://upupor.com (opens new window) 。

网站的性能也是不错的:

类似的社区类小众但有两点的项目还有 forest (opens new window)。

不同于其他社区项目,forest 这个知识社区项目主打文章分享,可以自定义专题和作品集。看得出来作者维护比较认真,并且很有想法。根据项目首页介绍,这个项目未来还可能会增加专业知识题库、社区贡献系统、会员系统。

我大概浏览了一下这个项目代码,发现这个项目的代码写的也相对比较规范干净,比很多 star 数量比较多的社区类项目都要好太多!

技术栈 :

  • 后端: SpringBoot + Shrio + MyBatis + JWT + Redis
  • 前端:Vue + NuxtJS + Element-UI。

相关地址 :

  • Github 地址:https://github.com/rymcu (opens new window) 。
  • 在线演示:https://rymcu.com/ (opens new window) 。

# 小说网站

novel-plus (opens new window) 是一个开源的小说网站项目。这个项目的代码质量也是非常不错的,结果清晰,代码结构也比较规范。这是我推荐这个项目很大的一个原因。

  • Github 地址:https://github.com/201206030/novel-plus (opens new window)
  • Gitee 地址:https://gitee.com/novel_dev_team/novel-plus (opens new window)

另外,除了单体版之外,这个项目还有一个基于 Spring Cloud 的微服务版本供你学习使用。

  • GitHub 地址: https://github.com/201206030/novel-cloud (opens new window)
  • Gitee 地址: https://gitee.com/novel_dev_team/novel-cloud (opens new window)

技术栈:

  • 后端: SpringBoot + MyBatis +Spring Security + Elasticsearch+ 支付宝支付
  • 前端:Thymeleaf + Layui。

这个项目还有一个爬虫模块用于系统初期测试使用。对 Java 爬虫感兴趣的朋友,可以简单研究一下。

# 在线文档管理

document-sharing-site (opens new window) 是一个支持几乎所有类型(Word, Excel, PPT, PDF, Pic 等)的文档存储、在线预览、共享的开源项目。

技术栈 :

  • 后端:Spring Boot + Hutool + Tika(内容分析工具包) + Elasticsearch + JWT
  • 前端:Vue + axios。

相关地址 :

  • 项目地址:https://github.com/Jarrettluo/document-sharing-site (opens new window)
  • 在线体验:http://81.69.247.172/#/ (opens new window)

# 导航网站

geshanzsq-nav (opens new window) 是一个前后端分离的导航网站。这个项目同样非常小众,撞车的概率非常小,并且,质量也是非常高。

  • Github 地址:https://github.com/geshanzsq/geshanzsq-nav (opens new window)
  • Gitee 地址 :https://gitee.com/geshanzsq/geshanzsq-nav (opens new window)

技术栈:

  • 后端: SpringBoot + MyBatis +Spring Security + Spring Security + Redis + Jwt
  • 前端:Thymeleaf + Layui。

在线演示:https://gesdh.cn/ (opens new window) 。

# 音乐网站

music-website (opens new window) 是一个开源的音乐网站。这个项目的前端写的挺不错的,后端稍微差劲很多,虽然也把功能写出来了,但是很多实现都不太优雅(详见 Controller 层)。

如果你想要将这个项目作为自己的项目经验或者毕业设计的话,可以自行对后端的代码进行优化。

Github 地址:https://github.com/Yin-Hongwei/music-website (opens new window) 。

技术栈:

  • 后端 :SpringBoot + MyBatis + MySQL
  • 前端 :Vue3.0 + TypeScript + Vue-Router + Vuex + Axios + ElementPlus + Echarts

# 健身会员管理系统

基于基于 RuoYi-Vue 做的一个健身会员管理系统,实现了 JWT 登录、渠道管理、促销活动等功能,附带详细的教程。

Github 地址:https://github.com/lenve/tienchin (opens new window)

# 轮子类开源项目

# 本地缓存

cache (opens new window) 是一个不错的轮子类项目,使用 Java 手写一个类似于 Redis 的单机版本地缓存(附详细教程)。 麻雀虽小五张俱全,支持数据缓存、缓存失效时间、数据淘汰策略(如 FIFO 、 LRU )、RDB 和 AOF 持久化......。 并且,这个项目附带了 6 篇教程来讲解核心功能具体是怎么实现的。

Github 地址:https://github.com/houbb/cache (opens new window)

# RPC 框架

guide-rpc-framework 是一款基于 Netty+Kyro+Zookeeper 实现的 RPC 框架。

  • Github 地址: https://github.com/Snailclimb/guide-rpc-framework (opens new window)
  • Gitee 地址 :https://gitee.com/SnailClimb/guide-rpc-framework (opens new window)

这个项目代码注释详细,结构清晰,并且集成了 Check Style 规范代码结构,非常适合阅读和学习。

并且,这个项目的 README 文档写的也非常认真。从 README 文档中,你就可以大概了解到这个 RPC 框架的设计思路以及前置技术。

# 数据库

MYDB 是一个 Java 语言实现的简易版数据库,部分原理参照自 MySQL、PostgreSQL 和 SQLite。

麻雀虽小,五脏俱全。MYDB 目前已经实现 MVCC、两种事务隔离级别(读提交和可重复读)、死锁处理、简陋的 SQL 解析等关系型数据库的核心功能。

并且,MYDB 作者写了详细的实现教程,教程地址: https://ziyang.moe/cs/project/mydb/ (opens new window)

Github 地址:https://github.com/CN-GuoZiyang/MYDB (opens new window)

# 编译器

Mini-Compiler 是一个 Mini 版本的入门级编译器,基于 Java 语言编写,有助于初学者了解面向对象编程语言编译器的运行原理。

代码示例:

可以看到,代码注释还是非常清晰的,一共只有 7 个类。

不过,想要搞懂这个项目难度会远大于普通的业务类型项目,像核心类 Parser (语法解析器)的代码量接近有 2000 行(其它 6 个类代码量比较少)。

Github 地址:https://github.com/chenyuwangjs/A-tutorial-compiler-written-in-Java (opens new window) 。

下面是一些相关的学习资料 :

  • 写给小白的开源编译器 (opens new window)
  • 700 行手写编译器(视频) (opens new window)
  • 《编译器设计》 (opens new window)

# 国外公开课 Lab

# 手写关系型数据库

MIT 6.830/6.814: Database Systems 这门课程的内容非常适合想要深入学习数据库原理的小伙伴。这门课程的 lab 是使用 Java 语言一步一步实现一个关系型数据库。

  • 课程地址:http://db.lcs.mit.edu/6.830/ (opens new window) 。
  • 课程代码:https://github.com/MIT-DB-Class/simple-db-hw (opens new window) 。
  • 课程讲义:https://github.com/MIT-DB-Class/course-info-2018/ (opens new window) 。
  • 课程视频:https://www.youtube.com/playlist?list=PLfciLKR3SgqOxCy1TIXXyfTqKzX2enDjK (opens new window) 。

网络上有一些相关的文章分享:

  • https://blog.csdn.net/hjw199666/category_9588041.html (opens new window)
  • https://zhuanlan.zhihu.com/p/58595037 (opens new window)

另外,UCB CS186: Introduction to Database System 的这门课程 lab 也是使用 Java 实现一个关系型数据库。

  • 课程地址:https://cs186berkeley.net/sp21/ (opens new window) 。
  • 课程视频:https://www.bilibili.com/video/BV13a411c7Qo (opens new window) 。

# 手写分布式 KV 存储

MIT6.824: Distributed System 这门课程出品自 MIT 大名鼎鼎的 PDOS 实验室,授课老师 Robert Morris 教授。Robert Morris 曾是一位顶尖黑客,世界上第一个蠕虫病毒 Morris 病毒就是出自他之手。

这门课程的 lab 会循序渐进带你实现一个基于 Raft 共识算法的 KV-store 框架,让你在痛苦的 debug 中体会并行与分布式带来的随机性和复杂性。

  • 课程网站:https://pdos.csail.mit.edu/6.824/schedule.html (opens new window) 。
  • 课程视频(中文翻译):https://www.bilibili.com/video/BV1R7411t71W (opens new window) 。

相关资料:

  • MIT6.824: Distributed System(中文翻译 wiki): https://mit-public-courses-cn-translatio.gitbook.io/mit6-824/ (opens new window)
  • 如何的才能更好地学习 MIT6.824 分布式系统课程?:https://www.zhihu.com/question/29597104 (opens new window)

# 视频类实战项目教程

大家有没有比较好的实战项目视频分享推荐下?慕课网上面的实战课程虽然多,但是,说实话哈,有一些质量都不过关,价格也不便宜。求球友分享优质的实战项目视频教程。

  • 电商系统 & 金融系统 (opens new window)
  • 在线教育系统 & 预约挂号系统 & 云原生实战 (opens new window)
Last Updated: 2023/01/30, 11:01:00
项目经验常见问题解答(补充)
去外包对自己的简历有影响么?

← 项目经验常见问题解答(补充) 去外包对自己的简历有影响么?→

Theme by Vdoing | Copyright © 2019-2023 pursue-wind | 粤ICP备2022093130号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜
  • 网络DJ