秋招后端开发面试题 - JVM类加载机制


目录


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

十二、算法

十三、项目

相关推荐
晨曦中的暮雨4 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
文丑颜不良啊5 小时前
LeetCode876~900题目解析
java·leetcode
aloha_7896 小时前
Java 基础、集合、异常与 JUnit 5 速查
java·junit·sqlserver
知守观7 小时前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
独隅7 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
yyuuuzz7 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
Wang's Blog7 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
GlobalInfo7 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
SL_staff7 小时前
JVS私有化文档系统上线避坑指南:5大运维与业务协同断点及检测加固实践
java·开源·全栈
FinelyYang9 小时前
考试系统简答题 AI 阅卷:覆盖度驱动、异步评分与人机协同落地实践
java·大数据·人工智能