前言

本次很荣幸能够邀请这位阿里P8的大佬为我们整理了这份 “JAVA 核心面试知识点”,这份资料就比较厉害了,它几乎涵盖了所有的Java核心知识点,并且融入了大佬自己的一些经验和思想!

文档涵盖知识:

面试必问的:Java基础、高并发、多线程、分布式、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat等等知识点详细讲解及面试押题。

而且!

它还有各种思维导图来帮助大家学习、理解!

下面我就来介绍一下这份阿里P8大佬所整理的这份 “Java 核心面试知识点” 到底涵盖了多少知识点!

由于整个文档比较全面,内容比较多 ,如有需要获取资料文档的朋友 文末有直达获取地址。

JVM

一、线程

什么是JVM?

二、JVM 内存区域

  1. 程序计数器(线程私有)
  2. 虚拟机栈(线程私有)
  3. 本地方法区(线程私有)
  4. 堆(Heap-线程共享)-运行时数据区
  5. 方法区/永久代(线程共享)

三、JVM 运行时内存

  1. 新生代

新生代

  1. 老年代
  2. 永久代

四、垃圾回收与算法

  1. 如何确定垃圾
  2. 标记清除算法(Mark-Sweep)
  3. 复制算法(copying)
  4. 标记整理算法(Mark-Compact)
  5. 分代收集算法

五、JAVA 四中引用类型

  1. 强引用
  2. 软引用
  3. 虚引用
  4. 弱引用

六、GC 分代收集算法 VS 分区收集算法

  1. 分代收集算法
  2. 分区收集算法

七、GC 垃圾收集器

  1. Serial 垃圾收集器(单线程、复制算法)
  2. ParNew 垃圾收集器(Serial+多线程)
  3. Parallel Scavenge 收集器(多线程复制算法、高效)
  4. Serial Old 收集器(单线程标记整理算法 )
  5. Parallel Old 收集器(多线程标记整理算法)
  6. CMS 收集器(多线程标记清除算法)
  7. G1 收集器

八、JAVA IO/NIO

  1. 阻塞 IO 模型
  2. 非阻塞 IO 模型
  3. 多路复用 IO 模型
  4. 信号驱动 IO 模型
  5. 异步 IO 模型
  6. JAVA IO 包
  7. JAVA NIO
  8. Channel
  9. Buffer
  10. Selector

九、JVM 类加载机制

  1. JVM 类加载机制
  2. 类加载器
  3. 双亲委派
  4. OSGI(动态模型系统)


JVM思维导图

Java集合

什么是Java集合?

  1. 接口继承关系和实现
  2. List
  3. Set
  4. Map

Java集合思维导图

JAVA 多线程并发

  1. JAVA 并发知识库
  2. JAVA 线程实现/创建方式
  3. 4 种线程池
  4. 线程生命周期(状态)
  5. 终止线程 4 种方式
  6. sleep 与 wait 区别
  7. start 与 run 区别
  8. JAVA 后台线程
  9. JAVA 锁
  10. 线程基本方法
  11. 线程上下文切换
  12. 同步锁与死锁
  13. 线程池原理
  14. JAVA 阻塞队列原理
  15. CyclicBarrier、CountDownLatch、Semaphore 的用法
  16. volatile 关键字的作用(变量可见性、禁止重排序)
  17. 如何在两个线程之间共享数据
  18. ThreadLocal 作用(线程本地存储)
  19. synchronized 和 ReentrantLock 的区别
  20. ConcurrentHashMap 并发
  21. Java 中用到的线程调度
  22. 进程调度算法
  23. 什么是 CAS(比较并交换-乐观锁机制-锁自旋)
  24. 什么是 AQS(抽象的队列同步器)

反射机制思维导图

JAVA 基础

  1. JAVA 异常分类及处理
  2. JAVA 反射
  3. JAVA 注解
  4. JAVA 内部类
  5. JAVA 泛型
  6. JAVA 序列化(创建可复用的 Java 对象)
  7. JAVA 复制


Spring 常用模块思维导图

Spring 原理

什么是 Spring?

  1. Spring 特点
  2. Spring 核心组件
  3. Spring 常用模块
  4. Spring 主要包
  5. Spring 常用注解
  6. Spring 第三方结合
  7. Spring IOC 原理
  8. Spring APO 原理
  9. Spring MVC 原理
  10. Spring Boot 原理
  11. JPA 原理
  12. Mybatis 缓存
  13. Tomcat 架构

Spring 特点思维导图

Spring 常用模块思维导图

微服务

什么是微服务?

  1. 服务注册发现
  2. API 网关
  3. 配置中心
  4. 事件调度(kafka)
  5. 服务跟踪(starter-sleuth)
  6. 服务熔断(Hystrix)
  7. API 管理


API 网关导图

Netty 与 RPC

什么是Netty 与 RPC

  1. Netty 原理
  2. Netty 高性能
  3. Netty RPC 实现
  4. RMI 实现方式
  5. Protoclol Buffer
  6. Thrift

客户端通信序列图

Zookeeper

  1. Zookeeper 概念
  2. Zookeeper 角色
  3. Zookeeper 工作原理(原子广播)
  4. Znode 有四种形式的目录节点

Kafka

  1. Kafka 概念
  2. Kafka 数据存储设计
  3. 生产者设计
  4. 消费者设计


Kafka思维导图

RabbitMQ

  1. 概念
  2. RabbitMQ 架构
  3. Exchange 类型


RabbitMQ 架构思维导图

获取方式:需要这 Java核心知识学习笔记点击主页私信【笔记】获取完整下载路径方式