点击关注公众号及时获取笔主最新更新文章,并可免费领取本文档配套的《Java面试突击》以及Java工程师必备学习资源。
安利一下阿里云双 12 的活动,1 核 2g 只要 89 一年,薅波羊毛,感觉甚爽,不过最低的优惠都是新人才能享有的,我是用我女朋友的账号买的,没有女朋友的,emm.....,可以考虑一下亲人的。
Sponsor
推荐使用 https://snailclimb.gitee.io/javaguide 在线阅读,在线阅读内容本仓库同步一致。这种方式阅读的优势在于:阅读体验会更好。
目录
Java
基础
容器
并发
- Java 并发基础常见面试题总结
- Java 并发进阶常见面试题总结
- 并发容器总结
- Java线程池学习总结
- 乐观锁与悲观锁
- JUC 中的 Atomic 原子类总结
- AQS 原理以及 AQS 同步组件总结
JVM
- 一 Java内存区域
- 二 JVM垃圾回收
- 三 JDK 监控和故障处理工具
- 四 类文件结构
- 五 类加载过程
- 六 类加载器
- 【待完成】八 最重要的 JVM 参数指南(翻译完善了一半)
- 九 JVM 配置常用参数和常用 GC 调优策略
I/O
Java 8
优雅 Java 代码必备实践(Java编程规范)
网络
操作系统
Linux相关
数据结构与算法
数据结构
算法
数据库
MySQL
- 【推荐】MySQL/数据库 知识点总结
- 阿里巴巴开发手册数据库部分的一些最佳实践
- 一千行MySQL学习笔记
- MySQL高性能优化规范建议
- 数据库索引总结
- 事务隔离级别(图文详解)
- 一条SQL语句在MySQL中如何执行的
Redis
数据库扩展
待办......
系统设计
常用框架
Spring/SpringBoot
- Spring 学习与面试
- Spring 常见问题总结
- SpringBoot 指南/常见面试题总结
- Spring中bean的作用域与生命周期
- SpringMVC 工作原理详解
- Spring中都用到了那些设计模式?
ZooKeeper
数据通信/中间件
RPC
消息队列
权限认证
- 权限认证基础:区分Authentication,Authorization以及Cookie、Session、Token
- JWT 优缺点分析以及常见问题解决方案
- 适合初学者入门 Spring Security With JWT 的 Demo
分布式 & 微服务
API 网关
网关主要用于请求转发、安全认证、协议转换、容灾。
配置中心
待办......
唯一 id 生成
服务治理:服务注册与发现、服务路由控制
待办......
架构
设计模式
面试指南
备战面试
- 【备战面试1】程序员的简历就该这样写
- 【备战面试2】初出茅庐的程序员该如何准备面试?
- 【备战面试3】7个大部分程序员在面试前很关心的问题
- 【备战面试4】Github上开源的Java面试/学习相关的仓库推荐
- 【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答
- 【备战面试6】应届生面试最爱问的几道 Java 基础问题
- 【备战面试6】美团面试常见问题总结(附详解答案)
- 【备战面试7】一些刁难的面试问题总结
真实面试经历分析
面经
Java学习常见问题汇总
工具
Git
Docker
其他
资源
书单
实战项目推荐
Github
待办
- Java 多线程类别知识重构
- Netty 总结(---正在进行中---)
- 数据结构总结重构(---正在进行中---)
说明
JavaGuide介绍
- 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;
- 对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。
Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET。
利用 docsify 生成文档部署在 Github pages: docsify 官网介绍
作者的其他开源项目推荐
- springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一起维护)。
- programmer-advancement : 我觉得技术人员应该有的一些好习惯!
- spring-security-jwt-guide :从零入门 !Spring Security With JWT(含权限验证)后端部分代码。
关于转载
如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。
如何对该开源文档进行贡献
- 笔记内容大多是手敲,所以难免会有笔误,你可以帮我找错别字。
- 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。
- 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点进行修改/补充。
为什么要做这个开源文档?
初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。
投稿
由于我个人能力有限,很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。大家也可以对自己的文章进行自荐,对于不错的文章不仅可以成功在本仓库展示出来更可以获得作者送出的 50 元左右的任意书籍进行奖励(当然你也可以直接折现50元)。
联系我
添加我的微信备注“Github”,回复关键字 “加群” 即可入群。
Contributor
下面是笔主收集的一些对本仓库提过有价值的pr或者issue的朋友,人数较多,如果你也对本仓库提过不错的pr或者issue的话,你可以加我的微信与我联系。下面的排名不分先后!
公众号
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。
《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 "Java面试突击" 即可免费领取!
Java工程师必备学习资源: 一些Java工程师常用学习资源公众号后台回复关键字 “1” 即可免费无套路获取。