符号表
可以通过路线知识点前的表情字符,根据自己的实际情况选择学习:
🌕 所有同学必须学习!!!
🌖 非常急着找工作,才可不学;目标大厂,必须学习!
🌗 急着找工作的话,可不学;目标大厂,建议学习
🌘 时间充足的话,再去学
⭐ 表示推荐资源
前言
首先呢,我们要了解 Java 的应用场景和就业方向,看看和自己的学习目的是否一致。
目前,Java 由于其优秀的特性以及火爆的生态,岗位需求量大,是后台开发、安卓开发、大数据开发的主流编程语言,因此学习资源也很丰富,值得学习!
我们继续学Java!

阶段 5:项目实战
目标
综合所学技术从 0 到 1 开发和上线一个全面、有特色的、可以写进简历的个人项目。
学习建议
其实在之前的框架学习视频中应该就做过几个项目了,但相对不够完整和体系化。
有想法的同学可以做任何自己想做的项目,推荐参加一些作品类竞赛,练手、拿奖、收获项目经历一举三得。
暂时没想法的朋友,建议先跟着专门带做项目的视频教程做 1 - 2 套 Java 完整项目,一定要从 0 到 1 自己手写!
有能力的朋友也可以试着用 GitHub 上的源码来学习啦~
做一个完整的项目的确很不容易,建议大家根据自己的 时间、兴趣 选择 较新的、有配套源码的 教程,保持耐心。
如何选择编程学习资源,可以看下我的原创文章:https://mp.weixin.qq.com/s/mlMql9RJCd7THt6rpGb8UA
下面推荐一些优质的、较新的项目实战视频教程 + 50 套项目源码。
视频教程
编程导航 内部分享:
⭐️ 鱼皮全程直播带做的保姆级全栈项目,带现成的简历写法和面试题:项目实战 - 鱼皮原创项目教程系列。
项目训练营(寻爱网项目):学习从立项到上线的完整做项目流程 + 优化思路
从 0 到 1 开发用户中心:保姆级前后端完整项目教程,适合刚学完框架的新手
伙伴匹配系统:移动端网站,设计分布式和并发编程知识,适合已经做过一个小项目的同学练习
Web 终端项目经验分享:前后端技术选型 + 系统设计 + 源码解读 + 简历亮点全面分享
面试刷题网站项目经验分享:从 0 到 1 分享数万用户网站的创作过程和经验分享
瑞吉外卖 - 外卖点餐系统:Java Spring Boot 入门级项目,适合刚学完框架的同学
尚医通 - 在线预约挂号平台:业务功能完整的 Java Spring Cloud 微服务项目,适合刚学完微服务的同学
硅谷课堂 - 在线学习平台:业务功能完整的 Java Spring Cloud 微服务项目,适合想学习第三方服务对接的同学
黑马点评 - 类似大众点评的移动 APP:专门为学习 Redis 定制的单体项目,适合刚学完 Spring Boot、想系统学习 Redis 的同学
公开:
尚硅谷 - 谷粒学院 - 微服务 + 全栈 - 在线教育实战项目:https://www.bilibili.com/video/BV1dQ4y1A75e (全栈项目,前后端讲得都很全面)
尚硅谷 - 尚筹网 - Java项目实战开发教程 - SSM 框架 + 微服务架构:https://www.bilibili.com/video/BV1bE411T7oZ(500 多集,包含完整的用户权限管理,功能丰富、讲得很细致全面)
黑马 - 24 小时搞定 Java 毕设电商项目:https://www.bilibili.com/video/BV13f4y1r7fS
黑马程序员 Java 项目《传智健康》,超完整的企业级医疗行业项目:https://www.bilibili.com/video/BV1Bo4y117zV
黑马程序员 Java 项目《万信金融》企业级开发实战,互联网金融行业解决方案:https://www.bilibili.com/video/BV1Ub4y1f7rk
黑马程序员 Java 项目 SaaS 移动办公完整版《iHRM 人力资源管理系统》,跨行业 SaaS 办公整合性解决方案:https://www.bilibili.com/video/BV18A411L7UX
黑马程序员 Java 大型分布式微服务闪聚支付项目,Java 移动支付全生态系统:https://www.bilibili.com/video/BV17v411V79c
黑马程序员 Java 项目《好客租房》:https://www.bilibili.com/video/BV1sZ4y1F7PD
常用类库
工具
Guava:谷歌开发的 Java 工具库(https://github.com/google/guava)
Apache Commons:各类工具库,比如 commons-lang、commons-io、commons-collections 等(https://github.com/apache/commons-lang)
Hutool:Java 工具集库(https://github.com/looly/hutool)
Lombok:Java 增强库(https://github.com/projectlombok/lombok)
Apache HttpComponents Client:HTTP 客户端库(https://github.com/apache/httpcomponents-client)
OkHttp:适用于 JVM、Android 等平台的 Http 客户端(https://github.com/square/okhttp)
Gson:谷歌的 JSON 处理库(https://github.com/google/gson)
Jcommander:Java 命令行参数解析框架(https://github.com/cbeust/jcommander)
Apache PDFBox:PDF 操作库(https://github.com/apache/pdfbox)
EasyExcel:阿里的 Excel 处理库(https://github.com/alibaba/easyexcel)
Apache POI:表格文件处理库(https://github.com/apache/poi)
测试
JUnit:Java 测试框架(https://github.com/junit-team/junit4)
Mockito:Java 单元测试 Mock 框架(https://github.com/mockito/mockito)
Selenium:浏览器自动化框架(https://github.com/SeleniumHQ/selenium)
htmlunit:Java 模拟浏览器(https://github.com/HtmlUnit/htmlunit)
TestNG:Java 测试框架(https://github.com/cbeust/testng)
Jacoco:Java 代码覆盖度库(https://github.com/jacoco/jacoco)
其他
cglib:字节码生成库(https://github.com/cglib/cglib)
Arthas:Java 诊断工具(https://github.com/alibaba/arthas)
config:针对 JVM 的配置库(https://github.com/lightbend/config)
Quasar:Java 纤程库(https://github.com/puniverse/quasar)
drools:Java 规则引擎(https://github.com/kiegroup/drools)
Caffeine:Java 高性能缓存库(https://github.com/ben-manes/caffeine)
Disruptor:高性能线程间消息传递库(https://github.com/LMAX-Exchange/disruptor)
Knife4j:Swagger 文档增强(https://doc.xiaominfo.com/)
Thumbnailator:Java 缩略图生成库(https://github.com/coobird/thumbnailator)
Logback:Java 日志库(https://github.com/qos-ch/logback)
Apache Camel:消息传输集成框架(https://github.com/apache/camel)
Quartz:定时任务调度库(https://github.com/quartz-scheduler/quartz)
Apache Mahout:机器学习库(https://github.com/apache/mahout)
Apache OpenNLP:NLP 工具库(https://github.com/apache/opennlp)
RxJava:JVM 反应式编程框架(https://github.com/ReactiveX/RxJava)
JProfiler:性能分析库(https://www.ej-technologies.com/products/jprofiler/overview.html)
jsoup:HTML 文档解析库(https://jsoup.org/)
webmagic:Java 爬虫框架(https://github.com/code4craft/webmagic/)
IDEA 插件
综合实用性、易用性、流行度、维护频率,精选了以下插件,简单分类为天地二品。
精选地品插件
简单好用、增强功能
Background Image Plus +
描述:给编辑器设置背景图片(小姐姐图片)
官网:https://plugins.jetbrains.com/plugin/11247-background-image-plus-
Chinese Language Pack
描述:中文支持
官网:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----
Translation
描述:翻译插件,鼠标选中文本,点击右键即可自动翻译成多国语言。
官网:https://plugins.jetbrains.com/plugin/8579-translation/
Key Promoter X
描述:快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。
官网:https://plugins.jetbrains.com/plugin/9792-key-promoter-x/
Rainbow Brackets
描述:给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读
官网:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets/
CodeGlance
描述:在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。
官网:https://plugins.jetbrains.com/plugin/7275-codeglance/
WakaTime
描述:代码统计和跟踪插件
官网:https://plugins.jetbrains.com/plugin/7425-wakatime
Statistic
描述:代码统计
官网:https://plugins.jetbrains.com/plugin/4509-statistic
精选天品插件
提高开发效率和代码质量
String Manipulation
描述:字符串快捷处理
官网:https://plugins.jetbrains.com/plugin/2162-string-manipulation
Tabnine AI Code Completion
描述:使用 AI 去自动提示和补全代码,比 IDEA 自带的代码补全更加智能化
官网:https://plugins.jetbrains.com/plugin/12798-tabnine-ai-code-completion-js-java-python-ts-rust-go-php--more
GsonFormatPlus
描述:根据 json 生成对象
官网:https://plugins.jetbrains.com/plugin/14949-gsonformatplus
JUnitGenerator V2.0
描述:自动生成单元测试
官网:https://plugins.jetbrains.com/plugin/3064-junitgenerator-v2-0
RestfulTool
描述:辅助 web 开发的工具集
官网:https://plugins.jetbrains.com/plugin/14280-restfultool
SequenceDiagram
描述:自动生成方法调用时序图
官网:https://plugins.jetbrains.com/plugin/8286-sequencediagram
CheckStyle-IDEA
描述:自动检查 Java 代码规范
官网:https://plugins.jetbrains.com/plugin/1065-checkstyle-idea
Alibaba Java Coding Guidelines
描述:代码规范检查插件
官网:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
SonarLint
描述:帮助你发现和修复代码的错误和漏洞
官网:https://plugins.jetbrains.com/plugin/7973-sonarlint
MybatisX
描述:MyBatis 增强插件,支持自动生成 entity、mapper、service 等常用操作的代码,优化体验
官网:https://plugins.jetbrains.com/plugin/10119-mybatisx
美化类
Extra Icons
描述:图标美化插件,支持更多文件类型
官网:https://plugins.jetbrains.com/plugin/11058-extra-icons
Chinese Language Pack
描述:中文支持
官网:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack----
Grep Console
描述:自定义设置控制台输出颜色
官网:https://plugins.jetbrains.com/idea/plugin/7125-grep-console
Material Theme UI
描述:美观的主题
官网:https://plugins.jetbrains.com/plugin/8006-material-theme-ui
Nyan Progress Bar
描述:进度条美化
官网:https://plugins.jetbrains.com/plugin/8575-nyan-progress-bar
activate-power-mode
描述:打字特效
官网:https://plugins.jetbrains.com/plugin/8330-activate-power-mode
Power Mode II
描述:打字特效插件升级版
官网:https://plugins.jetbrains.com/plugin/8251-power-mode-ii
Rainbow Brackets
描述:给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读
官网:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets/
Background Image Plus +
描述:给编辑器设置背景图片
官网:https://plugins.jetbrains.com/plugin/11247-background-image-plus-
代码生成类
Codota AI Autocomplete for Java and JavaScript
描述:使用 AI 去自动提示和补全代码,比 IDEA 自带的代码补全更加智能化
官网:https://plugins.jetbrains.com/plugin/7638-codota-ai-autocomplete-for-java-and-javascript
Tabnine AI Code Completion
描述:使用 AI 来自动提示和补全代码,比 IDEA 自带的代码补全更加智能化
官网:https://plugins.jetbrains.com/plugin/12798-tabnine-ai-code-completion-js-java-python-ts-rust-go-php--more
UUID Generator
描述:生成随机的 UUID
官网:https://plugins.jetbrains.com/plugin/8320-uuid-generator
Randomness
描述:生成随机值
官网:https://plugins.jetbrains.com/plugin/9836-randomness
.ignore
描述:生成不同语言的版本控制忽略文件
官网:https://plugins.jetbrains.com/plugin/7495--ignore
Auto filling Java call arguments
描述:通过快捷键自动补全函数的调用参数
官网:https://plugins.jetbrains.com/plugin/8638-auto-filling-java-call-arguments/
GenerateAllSetter
描述:快速生成调用对象 setter 方法的代码
官网:https://plugins.jetbrains.com/plugin/9360-generateallsetter
GenerateSerialVersionUID
描述:一键为实现 Serializable 接口的类生成 SerialVersionUID
官网:https://plugins.jetbrains.com/plugin/185-generateserialversionuid/
GsonFormatPlus
描述:根据 json 生成对象
官网:https://plugins.jetbrains.com/plugin/14949-gsonformatplus
Lombok
描述:配合 Lombok 依赖及注解使用,能够大大减少 Java 对象的代码量。IDEA 已自带,无需安装。
官网:https://plugins.jetbrains.com/plugin/6317-lombok/
Easy Code
描述:根据数据库表生成 Java entity、dao、mapper、service、controller 等代码
官网:https://plugins.jetbrains.com/plugin/10954-easy-code
Easy Javadoc
描述:快速生成 Javadoc 文档
官网:https://plugins.jetbrains.com/plugin/12977-easy-javadoc
JavaDoc
描述:生成 Javadoc 文档
官网:https://plugins.jetbrains.com/plugin/7157-javadoc
Json2Pojo
描述:根据 JSON 生成 POJO,根据 POJO 生成 JSON
官网:https://plugins.jetbrains.com/plugin/8533-json2pojo
JUnitGenerator V2.0
描述:自动生成单元测试
官网:https://plugins.jetbrains.com/plugin/3064-junitgenerator-v2-0
Jindent - Source Code Formatter
描述:根据自定义模板来生成 javadoc 注释
官网:https://plugins.jetbrains.com/plugin/8309-jindent--source-code-formatter
MybatisX
描述:MyBatis 增强插件,支持自动生成 entity、mapper、service 等常用操作的代码,优化体验
官网:https://plugins.jetbrains.com/plugin/10119-mybatisx
MyBatisCodeHelperPro
描述:MyBatis 增强插件,支持自动生成 entity、mapper、service 等常用操作的代码(收费)
官网:https://plugins.jetbrains.com/plugin/9837-mybatiscodehelperpro
功能提效类
源码阅读
Call Graph
描述:生成调用关系图,便于查看源码
官网:https://plugins.jetbrains.com/plugin/12304-call-graph
Jump to Line
描述:支持跳转到任意行进行调试
官网:https://plugins.jetbrains.com/plugin/14877-jump-to-line
SequenceDiagram
描述:自动生成方法调用时序图
官网:https://plugins.jetbrains.com/plugin/8286-sequencediagram
jclasslib Bytecode Viewer
描述:字节码查看器
官网:https://plugins.jetbrains.com/plugin/9248-jclasslib-bytecode-viewer
BrowseWordAtCaret
描述: 快速在相同单词间进行跳转
官网:https://plugins.jetbrains.com/plugin/201-browsewordatcaret
CodeGlance
描述:在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。
官网:https://plugins.jetbrains.com/plugin/7275-codeglance/
代码规范
CheckStyle-IDEA
描述:自动检查 Java 代码规范
官网:https://plugins.jetbrains.com/plugin/1065-checkstyle-idea
Alibaba Java Coding Guidelines
描述:代码规范检查插件
官网:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
SonarLint
描述:帮助你发现和修复代码的错误和漏洞
官网:https://plugins.jetbrains.com/plugin/7973-sonarlint
FindBugs-IDEA
描述:帮你找出代码中潜藏的 Bug
官网:https://plugins.jetbrains.com/plugin/3847-findbugs-idea
MetricsReloaded
描述:代码复杂度分析
官网:https://plugins.jetbrains.com/plugin/93?pr=idea
格式处理
CamelCase
描述:快速字符串格式转换工具,如驼峰式
官网:https://plugins.jetbrains.com/plugin/7160-camelcase
Json Parser
描述:验证和格式化 Json 字符串的工具
官网:https://plugins.jetbrains.com/plugin/10650-json-parser
Properties to YAML Converter
描述:把 Properties 文件的格式转为 YAML 格式
官网:https://plugins.jetbrains.com/plugin/8000-properties-to-yaml-converter
String Manipulation
描述:字符串快捷处理
官网:https://plugins.jetbrains.com/plugin/2162-string-manipulation
代码统计
WakaTime
描述:代码统计和跟踪插件
官网:https://plugins.jetbrains.com/plugin/7425-wakatime
Statistic
描述:代码统计
官网:https://plugins.jetbrains.com/plugin/4509-statistic
代码检索
OnlineSearch
描述:选择文本后支持不同搜索引擎进行搜索
官网:https://plugins.jetbrains.com/plugin/8298-onlinesearch/
CodeSearch
描述:快捷地打开搜索引擎进行搜索
官网:https://plugins.jetbrains.com/plugin/12578-codesearch
其他
Leetcode Editor
描述:在 IDEA 里刷算法题
官网:https://plugins.jetbrains.com/plugin/12132-leetcode-editor
File Watchers
描述:监听文件,当其发生变化时自动执行命令
官网:https://plugins.jetbrains.com/plugin/7177-file-watchers
PlantUML integration
描述:UML 建模工具,只需简单的代码就能画出复杂的 UML 类图
官网:https://plugins.jetbrains.com/plugin/7017-plantuml-integration
Bytecode Editor
描述:字节码编辑工具
官网:https://plugins.jetbrains.com/plugin/8461-bytecode-editor
Alibaba Cloud Toolkit
描述:阿里云工具集
官网:https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit
Tencent Cloud Toolkit
描述:腾讯云工具集
官网:https://plugins.jetbrains.com/plugin/15653-tencent-cloud-toolkit
EduTools
描述:面向教育者,允许创建、分享和加入练习
官网:https://plugins.jetbrains.com/plugin/10081-edutools
IDE Features Trainer
描述:IntelliJ IDEA 官方出的学习辅助插件
官网:https://plugins.jetbrains.com/plugin/8554-ide-features-trainer
JRebel Plugin
描述:项目热更新,提高效率(可惜要收费)
官网:https://plugins.jetbrains.com/plugin/4441-jrebel-and-xrebel-for-intellij
Key Promoter X
描述:快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。
官网:https://plugins.jetbrains.com/plugin/9792-key-promoter-x/
Translation
描述:翻译插件,鼠标选中文本,点击右键即可自动翻译成多国语言。
官网:https://plugins.jetbrains.com/plugin/8579-translation/
idea_seat
描述:自动提醒,防止你久坐不动
官网:https://github.com/s-unscrupulous/idea_seat
RestfulTool
描述:辅助 web 开发的工具集
官网:https://plugins.jetbrains.com/plugin/14280-restfultool
Multirun
描述:同时启动多应用
官网:https://plugins.jetbrains.com/plugin/7248-multirun
扩展增强类
Free Mybatis Plugin
描述:MyBatis 增强插件,支持 mapper => xml 的跳转、代码生成等功能
官网:https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin
MyBatis Log Plugin
描述:MyBatis SQL 提取和格式化输出
官网:https://plugins.jetbrains.com/plugin/10065-mybatis-log-plugin
Maven Helper
描述:Maven 辅助插件
官网:https://plugins.jetbrains.com/plugin/7179-maven-helper
Gradle View
描述:Gradle 项目管理工具的扩展
官网:https://plugins.jetbrains.com/plugin/7150-gradle-view
Arthas Idea
描述: Arthas 命令生成插件。Arthas 是阿里开源的 Java 在线诊断工具,该插件可以自动生成 Arthas 在线 Java 代码诊断命令,不用再到官网翻文档拼命令啦!
官网:https://plugins.jetbrains.com/plugin/13581-arthas-idea/
GitToolBox
描述: Git 增强插件。在自带的 Git 功能之上,新增了查看 Git 状态、自动拉取代码、提交通知等功能。最好用的是可以查看到每一行代码的最近一次提交信息。
官网:https://plugins.jetbrains.com/plugin/7499-gittoolbox/
BashSupport
描述:支持 Bash 脚本文件的高亮和提示等
官网:https://plugins.jetbrains.com/plugin/4230-bashsupport
Git Flow Integration
描述:Git Flow 的图形界面操作
官网:https://plugins.jetbrains.com/plugin/7315-git-flow-integration
Gitee
描述:开源中国的码云插件
官网:https://plugins.jetbrains.com/plugin/8383-gitee
Drools
描述:规则引擎的扩展
官网:https://plugins.jetbrains.com/plugin/16871-drools
EnvFile
描述:对多环境配置文件的支持
官网:https://plugins.jetbrains.com/plugin/7861-envfile
Kubernetes
描述:容器管理的扩展
官网:https://plugins.jetbrains.com/plugin/10485-kubernetes
Vue.js
描述:Vue.js 前端框架的扩展
官网:https://plugins.jetbrains.com/plugin/9442-vue-js
Scala
描述:Scala 语言的扩展
官网:https://plugins.jetbrains.com/plugin/1347-scala
Zookeeper
描述:Zookeeper 中间件的扩展
官网:https://plugins.jetbrains.com/plugin/7364-zookeeper
Jms messenger
描述:对 Java 消息服务的扩展
官网:https://plugins.jetbrains.com/plugin/10949-jms-messenger
MapStruct Support
描述:对 MapStruct 对象转换的支持
官网:https://plugins.jetbrains.com/plugin/10036-mapstruct-support
Big Data Tools
描述:提供了 HDFS 等大数据框架的工具集
官网:https://plugins.jetbrains.com/plugin/12494-big-data-tools
CSV
描述:支持 CSV 文件的高亮和提示等
官网:https://plugins.jetbrains.com/plugin/10037-csv
Ideolog
描述:识别和格式化 log 日志文件
官网:https://plugins.jetbrains.com/plugin/9746-ideolog
Toml
描述:支持 toml 文件的高亮和提示等
官网:https://plugins.jetbrains.com/plugin/8195-toml
.env files support
描述:支持 .env 文件的高亮和提示等
官网:https://plugins.jetbrains.com/plugin/9525--env-files-support
常用软件
开发相关
JetBrains IDEA:Java 集成开发环境,凭学生邮箱可申请免费使用(https://www.jetbrains.com/idea/)
Reset Jetbrains:你懂的
Visual Studio Code:插件化代码编辑器(https://code.visualstudio.com/)
Sublime Text:轻量代码编辑器(https://www.sublimetext.com/)
Navicat:数据库管理软件(https://www.navicat.com.cn/)
JMeter:Java 性能测试工具(https://jmeter.apache.org/)
JVisual VM:Java 运行状态可视化工具(https://visualvm.github.io/)
XShell:SSH 连接软件(https://www.netsarang.com/zh/xshell/)
XFtp:FTP 连接软件(https://www.netsarang.com/zh/xftp/)
Redis Desktop Manager:Redis 可视化管理工具(https://github.com/uglide/RedisDesktopManager)
Postman:接口测试工具(https://www.postman.com/)
VMware:虚拟机软件(https://www.vmware.com/)
Chocolatey:Windows 软件包管理器(https://chocolatey.org/)
Typora:写文档软件(https://typora.io/)
效率
Ditto:强大的剪切板(https://ditto-cp.sourceforge.io/)
uTools:插件化的效率工具(https://u.tools/)
XMind:思维导图软件(https://www.xmind.cn/)
Qdir:Windows 多窗口管理器(https://q-dir.en.softonic.com/)
项目源码(50 套)
鱼皮原创项目
项目实战 - 鱼皮原创项目教程系列
SQL 数据生成器(React + Java):https://github.com/liyupi/sql-father-frontend-public
结构化 SQL 语句生成器:https://github.com/liyupi/sql-generator
AI 自动回复工具(Java 项目):https://github.com/liyupi/yu-auto-reply
表情包网站(Vue + Java):https://github.com/liyupi/father
电商秒杀
天猫整站 J2EE:https://how2j.cn/module/115.htm
天猫整站 SSM:https://how2j.cn/module/134.html
天猫整站 Springboot:https://how2j.cn/module/156.html
mall-learning:https://github.com/macrozheng/mall-learningmall (学习教程,架构、业务、技术要点全方位解析)
SpringBoot 电商商城系统 Mall4j:https://github.com/gz-yami/mall4j
SpringBoot 完整电商系统 Mall:https://github.com/macrozheng/mall (包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现)
newbee-mall:https://github.com/newbee-ltd/newbee-mall (一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发)
paascloud-master:https://github.com/paascloud/paascloud-master (基于 spring cloud + vue + oAuth2.0,前后端分离商城系统)
mall-swarm:https://github.com/macrozheng/mall-swarm (一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统)
onemall:https://github.com/YunaiV/onemall (mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba)
litemall:https://github.com/linlinjava/litemall (又一个小商城,litemall = Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue 用户移动端)
xmall:https://github.com/Exrick/xmall (基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统)
miaosha:https://github.com/qiurunze123/miaosha (秒杀系统设计与实现)
SecKill:https://github.com/hfbin/Seckill (基于 SpringBoot+Mybatis+Redis+RabbitMQ 秒杀系统)
博客论坛
Mblog:开源 Java 博客系统
halo:一个优秀的开源博客发布应用
forum-java:一款用 Java(spring boot) 实现的现代化社区(论坛/问答/BBS/社交网络/博客)系统平台
vhr:微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
favorites-web:云收藏 Spring Boot 2.X 开源项目。云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。
community:码问,开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap
NiterForum:尼特社区-NiterForum-一个论坛/社区程序。后端Springboot/MyBatis/Maven/MySQL,前端Thymeleaf/Layui。可供初学者,学习、交流使用。
VBlog:V部落,Vue+SpringBoot实现的多用户博客管理平台!
NiceFish:SpringBoot/SpringCloud 前后端分离项目
My-Blog: My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。
My-Blog-layui:layui 版本的 My-Blog : A simple & beautiful blogging system implemented with spring-boot & layui & thymeleaf & mybatis My Blog 是由 SpringBoot + Layui + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
symphony:Java 实现的现代化社区
管理系统
Spring-Cloud-Admin:Cloud-Admin 是国内首个基于 Spring Cloud 微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关 API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Spring Boot2 以及 Spring Cloud Gateway 相关核心组件,前端采用 vue-element-admin 组件。
bootshiro:基于 springboot+shiro+jwt 的资源无状态认证权限管理系统后端
悟空CRM:基于jfinal+vue+ElementUI的前后端分离CRM系统
EL-ADMIN:基于 SpringBoot 的后台管理系统
pig:基于 Spring Boot 2.2、 Spring Cloud Hoxton & Alibaba、 OAuth2 的 RBAC 权限管理系统。
FEBS-Shiro:Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 权限管理系统。
Spring Boot-Shiro-Vue:基于Spring Boot-Shiro-Vue 的权限管理
studentmanager:基于springboot+mybatis学生管理系统
jshERP:华夏ERP基于SpringBoot框架和SaaS模式,立志为中小企业提供开源好用的ERP软件,目前专注进销存+财务功能。主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、订单等特色功能。拥有库存状况、出入库统计等报表。同时对角色和权限进行了细致全面控制,精确到每个按钮和菜单。
HotelSystem:酒店管理系统 Java,tomcat,mysql,servlet,jsp实现,没有使用任何框架
开发平台
open-capacity-platform:微服务能力开发平台
jeecg-boot:JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!
其他
学之思在线考试系统:一款 java + vue 的前后端分离的考试系统
PassJava-Platform:一款面试刷题的 Spring Cloud 开源系统
kkFileView:使用spring boot打造文件文档在线预览项目
dynamic-datasource:一个基于springboot的快速集成多数据源的启动器
moti-cloud:莫提网盘,基于 SpringBoot+MyBatis+ThymeLeaf+BootStrap,适合初学者
threadandjuc:three-high-import 高可用\高可靠\高性能,三高多线程导入系统(该项目意义为理论贯通)
proxyee-down:http下载工具,基于http代理,支持多连接分块下载
hosp_order:医院预约挂号系统,基于 SSM 框架
趋势投资 SpringCloud
DiyTomcat
阶段 6:Java 高级
目标
不满足于能做,而是通过更 深入 和 广泛 的学习,实现高质量的代码和更优秀的架构,培养解决问题的能力。
已经到了这个阶段,建议除了看完成的教程外,平时多自主搜索信息去学习,积少成多。比如遇到了一个不了解的名词,可以去网上搜一下,感兴趣的话再进行下一步的学习。
🌖 并发编程(21 天)
对 Java 后端开发程序员来说,懂得如何利用有限的系统资源来提高系统的性能是很重要的,也是大厂面试考察的重点,因此并发编程(尤其是 Java 并发包的使用)这块的知识很重要。
把它放到高级,是因为在学并发编程前,需要有一定的编程经验、了解一定的操作系统知识。
知识
线程和进程
线程状态
并行和并发
同步和异步
Synchronized
Volatile 关键字
Lock 锁
死锁
可重入锁
线程安全
线程池
JUC 的使用
AQS
Fork Join
CAS
学习建议
并发编程入门不难,依然是 先学会使用 基础的 Java 并发包, 再通过大量地实践和测试,了解一些原理,才能真正掌握何时使用、如何更合理地使用并发编程。而不是张口闭口多线程,上天入地高并发。
经典面试题
volatile 关键字的作用
使用线程池有哪些好处?
线程池参数如何设置?
什么是线程安全问题,如何解决?
介绍 synchronized 的锁升级机制
CopyOnWriteArrayList 适用于哪种场景?
资源
项目实战
项目实战 - 鱼皮原创项目教程系列 中的伙伴匹配系统、智能 BI 项目、OJ 判题系统都运用了并发编程解决实际问题,推荐学习
视频
⭐【尚硅谷】大厂必备技术之JUC并发编程2021最新版:https://www.bilibili.com/video/BV1Kw411Z7dF (特点是短、精、新)
黑马程序员全面深入学习Java并发编程:https://www.bilibili.com/video/BV16J411h7Rd (讲的很细、全面深入)
书籍
⭐《Java并发编程实战》(国外的经典)
⭐《Java 并发编程艺术》(国人写的,理论思想内容较多,有时间建议反复看)
⭐《图解 Java 多线程设计模式》:https://www.aliyundrive.com/s/MBKzUxWWBbe 提取码: 9gc7(如果已经学了 Java 并发编程,可以额外学习,这里的设计模式)
项目
⭐ Java 并发知识点总结:https://github.com/CL0610/Java-concurrency
🌖 JVM(30 天)
想要深入理解 Java,探秘 Java 跨平台的奥秘,一定要了解 Java 底层的虚拟机技术。
了解虚拟机、掌握虚拟机性能调优方法,有助于你写出更高性能、资源占用更小的优质程序。
在学习 JVM 的过程中,也能学到很多精妙的设计,开拓思路。
知识
JVM 内存结构
JVM 生命周期
主流虚拟机
Java 代码执行流程
类加载
类加载器
类加载过程
双亲委派机制
垃圾回收
垃圾回收器
垃圾回收策略
垃圾回收算法
StopTheWorld
字节码
内存分配和回收
JVM 性能调优
性能分析方法
常用工具
参数设置
Java 探针
线上故障分析
学习建议
JVM 的知识略显枯燥,建议先看视频,有实操的地方一定要实操!自己多去分析。
第一遍不理解没有关系,可以再看书来巩固,想要真正学好,《深入理解 Java 虚拟机(第三版)》一定要读。
如果只是为了通过面试可以直接看更精简的视频,比如狂神的。
经典面试题
介绍 JVM 的内存模型?
JVM 内存为什么要分代?
介绍一次完整的 GC 流程
介绍双亲委派模型,为什么需要它?
资源
视频
⭐ 尚硅谷宋红康 - JVM 全套教程详解:https://www.bilibili.com/video/BV1PJ411n7xZ (讲得相当全面!附有实操)
【狂神说Java】JVM快速入门篇:https://www.bilibili.com/video/BV1iJ411d7jS (讲得有点浅,但都是面试重点,时间紧的小伙伴可以直接看这个)
书籍
⭐《深入理解 Java 虚拟机(第三版)》(有理论有实践,内容丰富,不可多得的 JVM 学习神书,就是有点废头发)
项目
⭐ Java 虚拟机底层原理知识总结:https://github.com/doocs/jvm
实战
阿里云 JVM 实战:https://developer.aliyun.com/graph/java/point/64
工具
Arthas 开源 Java 诊断工具:https://github.com/alibaba/arthas
🌖 Java 高级知识
通过阅读文章了解即可
知识
动态代理
Java 探针
字节码,参考:https://github.com/fuzhengwei/itstack-demo-bytecode
UnSafe 类
协程 / 纤程
架构设计
🌖 分布式
分布式理论
CAP
BASE
分布式缓存
Redis
Memcached
Etcd
一致性算法
Raft
Paxos
一致性哈希
分布式事务
2PC
3PC
TCC
本地消息表
MQ 事务消息
最大努力通知
解决方案
LCN 分布式事务框架:https://github.com/codingapi/tx-lcn
分布式 id 生成
Leaf 分布式 id 生成服务:https://github.com/Meituan-Dianping/Leaf
分布式任务调度
XXL-JOB 调度平台:https://www.xuxueli.com/xxl-job/
elastic-job:https://gitee.com/elasticjob/elastic-job
分布式服务调用
trpc
分布式存储
HDFS
Ceph
分布式数据库
TiDB
OceanBase
分布式文件系统
HDFS
分布式协调
Zookeeper
分布式监控
Prometheus
Zabbix
分布式消息队列
RabbitMQ
Kafka
Apache Pulsar
分布式日志收集
Elastic Stack
Loki
分布式搜索引擎
Elasticsearch
分布式链路追踪
Apache SkyWalking
分布式配置中心
Apollo
Nacos
🌗 高可用
限流
降级熔断
冷备
双机热备
同城双活
异地双活
异地多活
容灾备份
🌗 高并发
数据库
MyCat 中间件
Apache ShardingSphere 中间件
分库分表
读写分离
缓存
缓存雪崩
缓存击穿
缓存穿透
负载均衡
负载均衡算法
软硬件负载均衡(2、3、4、7 层)
🌘 服务网格
服务网格用来描述组成应用程序的微服务网络以及它们之间的交互。服务网格的规模和复杂性不断的增长,它将会变得越来越难以理解和管理,常见的需求包括服务发现、负载均衡、故障恢复、度量和监控等。
知识
Istio
流量管理
安全性
可观测性
Envoy(开源的边缘和服务代理)
资源
资料大全:https://www.servicemesher.com/awesome-servicemesh/
istio 官方文档:https://preliminary.istio.io/latest/zh
istio 视频教程:https://www.bilibili.com/video/BV1Lf4y1x7j8
在线体验 istio:https://katacoda.com/courses/istio/
🌘 DDD 领域驱动设计
将数据、业务流程抽象成容易理解的领域模型,通过用代码实现领域模型,来组成完整的业务系统。
知识
DDD 的优势
DDD 的适用场景
DDD 核心概念
领域模型分类:失血、贫血、充血、涨血
子域划分:核心域、通用域、支撑域
限界上下文
实体和值对象
聚合设计
领域事件
DDD 实践
资源
DDD 入门:https://juejin.cn/post/7004002483601145863
DDD 编码实践:https://juejin.cn/post/6844903903104860174
DDD 实践教程:https://www.bilibili.com/video/BV1Y341167Xp
🌘 其他
Sidecar
Serverless
云原生
学习建议
架构设计的学习没有顶点,多看文章,思考每种设计的优缺点和适用场景,有机会的话在企业中实践即可。
还在学校、或者初入这行的同学切记,千万不要一味地去背诵架构设计的八股文。你可以背,但是这一块的知识只有结合具体的项目才有意义,所以要多做项目去实践设计的合理性,而不是什么设计都咔咔往系统里去怼。比如面试问到分布式事务,能结合自己项目中用分布式事务解决问题的经验去回答最好。
🌘 其他技术
热数据探测技术:京东 HotKey
数据库流水订阅:阿里 Canal
监控告警
应用安全
故障演练
流量回放
阶段 7:Java 求职
目标
找到好工作
建议
尽早做规划,可以通过大厂招聘官网的岗位描述来了解岗位的要求
雕琢一份优秀的简历,推荐阅读:https://mp.weixin.qq.com/s/wfabzdpOPdq89faFFpZ4NA
多读面经,坚持刷算法
多参与面试,持续复盘总结
资源
校招岗位
阿里 Java 开发:https://campus.alibaba.com/position.htm?refno=12699
腾讯后台开发:https://join.qq.com/post_detail.html?pid=1&id=101&tid=2
腾讯全栈开发:https://join.qq.com/post_detail.html?pid=1&id=137&tid=2
腾讯运营开发:https://join.qq.com/post_detail.html?pid=1&id=105&tid=2
美团后端开发:https://campus.meituan.com/jobs?jobFamily=1&jobId=4005&jobType=1&pageNo=2
华为软件开发:https://career.huawei.com/reccampportal/portal5/campus-recruitment-detail.html?jobId=176044
社招岗位
阿里社招:https://job.alibaba.com/zhaopin/positionList.htm
腾讯社招:https://careers.tencent.com/search.html
实习
实习僧:https://www.shixiseng.com/
鱼皮经历
从 0 开始的编程学习进大厂经历
⭐ 我学计算机的四年,共勉:https://mp.weixin.qq.com/s/Nc7Ee2UyrPg6hGseQUCzeg
实习经历
⭐ 我的第一份实习:https://mp.weixin.qq.com/s/SwGiRzyTkCOOCUXfXPR1Pw
⭐ 我的第二份实习,字节跳动:https://mp.weixin.qq.com/s/3q-YIfuZBjPjSnamNwOraw
知识总结
⭐ JavaGuide:https://snailclimb.gitee.io/javaguide/#/
⭐ CS-Notes:http://www.cyc2018.xyz/
阿里 Java 技术图谱:https://developer.aliyun.com/graph/java
面经
编程导航面经汇总:https://yuyuanweb.feishu.cn/wiki/PLHrwcEPCiJcxXk7Ki4csRoJn2f
面试题解
编程导航精选面试题汇总:https://yuyuanweb.feishu.cn/wiki/CmFywXs0Oi0MS9kU3yocJugFn2e
视频
⭐ 尚硅谷 2021 逆袭版 Java 面试题第三季:https://www.bilibili.com/video/BV1Hy4y1B78T
⭐ 阿里大佬透彻讲解 Java 面试 500 道必考题:https://www.bilibili.com/video/BV1yU4y1J7Bb
阶段 8:持续学习
目标
持续追求技术的深度和广度,培养自己的 核心竞争力 和 不可替代性 ,学无止境!
学习建议
自主学习,自主搜索教程,多看书,多阅读技术博客,多实践。
学习方向
框架源码
Spring
SpringBoot
SpringMVC
MyBatis
Netty
Dubbo
SpringCloud
计算机原理
《算法导论》:https://www.bilibili.com/video/av48922404
《现代操作系统》:https://www.bilibili.com/video/av9555596
《深入理解计算机系统》:https://www.bilibili.com/video/av31289365
《编译原理》: https://www.bilibili.com/video/av17649289
《计算机网络:自顶向下方法》:https://www.bilibili.com/video/BV1JV411t7ow
《计算机程序的构造和解释》:https://www.bilibili.com/video/av8515129
《数据库系统概论》:https://www.bilibili.com/video/BV1G54y1d7ZK
数据库 / 中间件 / 分布式
数据库
MySQL
PostgreSQL
缓存
Redis
队列
Apache Kafka
Apache Pulsar
搜索引擎
Elasticsearch
logstash
kibana
beats
Elastic Stack
容器
Docker
K8S
解决方案
广告系统
电商系统
搜索系统
支付转账
游戏后台
即时通讯
社交系统
CMS 系统
ERP 系统
OA 系统
代码生成
权限管理
秒杀活动
架构设计
同阶段 6 架构设计部分
大数据
5V 特点
Hadoop
HDFS
MapReduce
Spark
Flink
Storm
Hive
HBase
Druid
Kylin
Pig
Mahout
前沿技术
云原生:https://www.jianshu.com/p/a37baa7c3eff
Quasar Framework:http://www.quasarchs.com/
服务网格:https://www.redhat.com/zh/topics/microservices/what-is-a-service-mesh
istio:https://github.com/istio/istio
GraalVM:https://juejin.cn/post/6850418120570437646 (高性能的通用虚拟机)
官网:https://www.graalvm.org/
ZGC:https://juejin.cn/post/6859276583656980493 (新一代垃圾回收器)
官网:http://openjdk.java.net/projects/zgc/
自学 Java 专题资源
⭐ GitHub Java 专区:https://github.com/topics/java
⭐ GitHub Java 合集:https://github.com/akullpp/awesome-java
StackOverflow:https://stackoverflow.com/questions/tagged/java (解决问题必备)
⭐ 掘金 Java 专区:https://juejin.cn/tag/Java
美团技术团队:https://tech.meituan.com/
阿里技术团队:https://102.alibaba.com/tech/list/
有赞技术团队:https://tech.youzan.com/tag/back-end/
更多编程学习资源
Java前端程序员必做项目实战教程+毕设网站:https://www.code-nav.cn/course
程序员免费编程学习交流社区(自学必备):https://www.code-nav.cn/
程序员保姆级求职写简历指南(找工作必备):https://www.code-nav.cn/course/cv
程序员免费面试刷题网站工具(找工作必备):https://www.mianshiya.com/
最新Java零基础入门学习路线 + Java教程:https://www.code-nav.cn/post/1640584449888772098
最新Python零基础入门学习路线 + Python教程:https://www.code-nav.cn/post/1640586673306091521
最新前端零基础入门学习路线 + 前端教程:https://www.code-nav.cn/post/1640586014108303362
最新数据结构和算法零基础入门学习路线 + 算法教程:https://www.code-nav.cn/post/1640586867363954689
最新C++零基础入门学习路线、C++教程:https://www.code-nav.cn/post/1644279832026075138
最新数据库零基础入门学习路线 + 数据库教程:https://www.code-nav.cn/post/1641797333479903234)
最新Redis零基础入门学习路线 + Redis教程:https://www.code-nav.cn/post/1640589994284695553
最新计算机基础入门学习路线 + 计算机基础教程:https://www.code-nav.cn/post/1641035880439271426
最新小程序入门学习路线 + 小程序开发教程:https://www.code-nav.cn/post/1641366118197153793
最新SQL零基础入门学习路线 + SQL教程:http://sqlmother.yupi.icu
最新Linux零基础入门学习路线 + Linux教程:https://www.code-nav.cn/post/1640586295529324545
最新Git/GitHub零基础入门学习路线 + Git教程:https://www.code-nav.cn/post/1640588753362108417
最新操作系统零基础入门学习路线 + 操作系统教程:https://www.code-nav.cn/post/1640587909942099969
最新计算机网络零基础入门学习路线 + 计算机网络教程:https://www.code-nav.cn/post/1640588119619551233
最新设计模式零基础入门学习路线 + 设计模式教程:https://www.code-nav.cn/post/1640588392073150465
最新软件工程零基础入门学习路线 + 软件工程教:https://www.code-nav.cn/post/1640648711119892481