前言
Java是一门面向对象的编程语言,功能强大、简单易用,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
在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 NIO
- Channel
- Buffer
- Selector
九、JVM 类加载机制
- JVM 类加载机制
- 类加载器
- 双亲委派
- OSGI(动态模型系统)

Java集合

- 接口继承关系和实现
- List
- Set
- Map

JAVA 多线程并发
- 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)
- 服务熔断(Hystrix)
- API 管理

Netty 与 RPC

- Netty 原理
- Netty 高性能
- Netty RPC 实现
- RMI 实现方式
- Protoclol Buffer
- Thrift

Zookeeper
- Zookeeper 概念
- Zookeeper 角色
- Zookeeper 工作原理(原子广播)
- Znode 有四种形式的目录节点
Kafka
- Kafka 概念
- Kafka 数据存储设计
- 生产者设计
- 消费者设计

Kafka思维导图
RabbitMQ
- 概念
- RabbitMQ 架构
- Exchange 类型

本文详细介绍了Java程序员进阶必备的知识,包括JVM内存管理、垃圾回收、并发编程、集合框架、Spring原理、微服务架构、Netty与RPC、Zookeeper和Kafka等内容,助你系统提升面试竞争力。
604

被折叠的 条评论
为什么被折叠?



