【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 https://gitee.com/SnailClimb/JavaGuide
推荐使用 https://snailclimb.top/JavaGuide/ 在线阅读(访问速度慢的话,请使用 https://snailclimb.gitee.io/javaguide ),在线阅读内容本仓库同步一致。这种方式阅读的优势在于:有侧边栏阅读体验更好,Gitee pages 的访问速度相对来说也比较快。
目录
Java
基础
容器
- 常见问题总结:
- 源码分析:
并发
- 并发编程面试必备:synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比
- 并发编程面试必备:乐观锁与悲观锁
- 并发编程面试必备:JUC 中的 Atomic 原子类总结
- 并发编程面试必备:AQS 原理以及 AQS 同步组件总结
- BATJ都爱问的多线程面试题
- 并发容器总结
JVM
I/O
Java 8
编程规范
网络
操作系统
Linux相关
数据结构与算法
数据结构
算法
数据库
MySQL
Redis
系统设计
设计模式
常用框架
Spring
ZooKeeper
数据通信
网站架构
面试指南
备战面试
- 【备战面试1】程序员的简历就该这样写
- 【备战面试2】初出茅庐的程序员该如何准备面试?
- 【备战面试3】7个大部分程序员在面试前很关心的问题
- 【备战面试4】Github上开源的Java面试/学习相关的仓库推荐
- 【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答
- 【备战面试6】美团面试常见问题总结(附详解答案)
常见面试题总结
- 第一周(2018-8-7) (为什么 Java 中只有值传递、==与equals、 hashCode与equals)
- 第二周(2018-8-13)(String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?、什么是反射机制?反射机制的应用场景有哪些?......)
- 第三周(2018-08-22) (Arraylist 与 LinkedList 异同、ArrayList 与 Vector 区别、HashMap的底层实现、HashMap 和 Hashtable 的区别、HashMap 的长度为什么是2的幂次方、HashSet 和 HashMap 区别、ConcurrentHashMap 和 Hashtable 的区别、ConcurrentHashMap线程安全的具体实现方式/底层具体实现、集合框架底层数据结构总结)
- 第四周(2018-8-30).md (主要内容是几道面试常问的多线程基础题。)
面经
工具
Git
Docker
资料
书单
Github榜单
待办
- Java 8 新特性总结
- Java 8 新特性详解
- Java 多线程类别知识重构(---正在进行中---)
- BIO,NIO,AIO 总结
- Netty 总结(---正在进行中---)
- 数据结构总结重构(---正在进行中---)
说明
介绍
- 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;
- 对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。
Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET。
利用 docsify 生成文档部署在 Github pages: docsify 官网介绍
关于转载
如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。