前言本次很荣幸能够邀请这位阿里 P8的大佬为我们整理了这份“JAVA 核心面试知识点”这份资料就比较厉害了它几乎涵盖了所有的Java核心知识点并且融入了大佬自己的一些经验和思想文档涵盖知识面试必问的Java 基础、高并发、多线程、分布式、设计模式、Spring 全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat等等知识点详细讲解及面试押题。而且它还有各种思维导图来帮助大家学习、理解下面我就来介绍一下这份阿里 P8 大佬所整理的这份“Java 核心面试知识点”到底涵盖了多少知识点由于整个文档比较全面内容比较多 如有需要获取资料文档的朋友文末有直达获取地址。JVM一、线程二、JVM 内存区域程序计数器(线程私有)虚拟机栈(线程私有)本地方法区(线程私有)堆Heap-线程共享-运行时数据区方法区/永久代线程共享三、JVM 运行时内存新生代老年代永久代四、垃圾回收与算法如何确定垃圾标记清除算法Mark-Sweep复制算法copying标记整理算法(Mark-Compact)分代收集算法五、JAVA 四中引用类型强引用软引用虚引用弱引用六、GC 分代收集算法 VS 分区收集算法分区收集算法七、GC 垃圾收集器Serial 垃圾收集器单线程、复制算法ParNew 垃圾收集器Serial多线程Parallel Scavenge 收集器多线程复制算法、高效Serial Old 收集器单线程标记整理算法 Parallel Old 收集器多线程标记整理算法CMS 收集器多线程标记清除算法G1 收集器八、JAVA IO/NIO阻塞 IO 模型非阻塞 IO 模型多路复用 IO 模型信号驱动 IO 模型异步 IO 模型JAVA IO 包JAVA NIOChannelBufferSelector九、JVM 类加载机制JVM 类加载机制类加载器双亲委派OSGI动态模型系统Java 集合接口继承关系和实现ListSetMapJAVA 多线程并发JAVA 并发知识库JAVA 线程实现/创建方式4 种线程池线程生命周期(状态)终止线程 4 种方式sleep 与 wait 区别start 与 run 区别JAVA 后台线程JAVA 锁线程基本方法线程上下文切换同步锁与死锁线程池原理JAVA 阻塞队列原理CyclicBarrier、CountDownLatch、Semaphore 的用法volatile 关键字的作用变量可见性、禁止重排序如何在两个线程之间共享数据ThreadLocal 作用线程本地存储synchronized 和 ReentrantLock 的区别ConcurrentHashMap 并发Java 中用到的线程调度进程调度算法什么是 CAS比较并交换-乐观锁机制-锁自旋什么是 AQS抽象的队列同步器JAVA 基础JAVA 异常分类及处理JAVA 反射JAVA 注解JAVA 内部类JAVA 泛型JAVA 序列化(创建可复用的 Java 对象)JAVA 复制Spring 原理Spring 特点Spring 核心组件Spring 常用模块Spring 主要包Spring 常用注解Spring 第三方结合Spring IOC 原理Spring APO 原理Spring MVC 原理Spring Boot 原理JPA 原理Mybatis 缓存Tomcat 架构微服务服务注册发现API 网关配置中心事件调度kafka服务跟踪starter-sleuth服务熔断HystrixAPI 管理Netty 与 RPCNetty 原理Netty 高性能Netty RPC 实现RMI 实现方式Protoclol BufferThriftZookeeperZookeeper 概念Zookeeper 角色Zookeeper 工作原理原子广播Znode 有四种形式的目录节点KafkaKafka 概念Kafka 数据存储设计生产者设计消费者设计RabbitMQ概念RabbitMQ 架构Exchange 类型​获取方式需要这 Java 核心知识学习笔记可以点击下方名片获取