目录
JVM类加载机制
前言
已经找到工作了,分享秋招时的笔记。祝大家都能顺利找到自己心仪的工作。
面试题
能说一下类的生命周期吗?
- 类的生命周期分为七个阶段:加载、验证、准备、解析、初始化、使用和卸载
- 其中验证、准备、解析三个部分统称为连接
类加载的过程知道吗?
- 获取类的二进制字节流
- 结构化静态存储结构
- 在内存中生成 Class 对象
类加载器有哪些?
- 启动类加载器:加载 Java 核心类库
- 扩展类加载器:加载 Java 的扩展库
- 系统类加载器:根据 Java 应用的类路径来加载类
- 自定类加载器:用户通过继承 ClassLoader 类的方式自定义类加载器
什么是双亲委派机制?
- 类加载器收到类加载的请求的时候,不会自己尝试加载,而是将请求委托给父类加载器完成
- 每层的类加载器都向上委托,直到加载请求传送到最顶层的启动类加载器
- 只有父加载器反馈自己无法完成这个加载请求时,子加载器才会尝试自己完成加载
为什么要用双亲委派机制?
- 避免类重复加载,保证应用程序的稳定
如何破坏双亲委派机制?
- 重写 loadClass() 方法
如何判断一个类是无用的类?
- 该类的所有实例都已经被回收
- 加载该类的 ClassLoader 已经被回收
- 该类对应的 java.lang.Class 对象没有在任何地方被引用
秋招后端开发面试题系列目录
一、Java
1.1 Java基础上
1.2 Java基础下
1.3 Java集合
1.4 JavaIO
1.5 Java多线程上
1.6Java多线程下
二、JVM
2.1 JVM底层原理
2.2 垃圾回收器
2.3 垃圾回收算法
2.4 类加载机制
2.5 运行时数据区
三、MySQL
3.1 MySQL基础
3.2 事务
3.3 索引
3.4 锁机制
3.5 MVCC
四、Redis
4.1 Redis基础
4.2 缓存原理
五、中间件
5.1 RabbitMQ
六、Spring开源框架
6.1 Spring
6.2 Spring MVC
6.3 Spring Boot
6.4 MyBatis
七、操作系统
八、计算机网络
九、设计模式
十、微服务架构
十一、Spring Cloud分布式
11.1 分布式基础
11.2 Spring Cloud
11.3 GateWay
11.4 Nacos
11.5 OpenFeign
11.6 Ribbon
十二、算法
十三、项目