秋招后端开发面试题 - 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

十二、算法

十三、项目

相关推荐
idcardwang6 分钟前
esp32s3-idf使用smart_config一键配网
网络
googleccsdn18 分钟前
ENSP Pro Lab笔记:配置BGP EVPN VXLAN双栈(2)
网络·笔记·网络协议
黎雁·泠崖20 分钟前
Java面向对象:this关键字+构造方法+标准JavaBean
java·开发语言·python
min18112345620 分钟前
HR人力资源招聘配置流程图制作教程
大数据·网络·人工智能·架构·流程图·求职招聘
sheji341632 分钟前
【开题答辩全过程】以 基于Java的智慧环卫垃圾收运管理系统设计与实现为例,包含答辩的问题和答案
java·开发语言
jason成都39 分钟前
实战 | 国产数据库 R2DBC-JDBC 桥接踩坑记 - JetLinks适配达梦数据库
java·数据库·物联网
BullSmall44 分钟前
SEDA (Staged Event-Driven Architecture, 分阶段事件驱动架构
java·spring·架构
weixin_516023071 小时前
ssh配合密钥连接
服务器·网络·ssh
Coder_Boy_1 小时前
基于SpringAI的在线考试系统-DDD(领域驱动设计)核心概念及落地架构全总结(含事件驱动协同逻辑)
java·人工智能·spring boot·微服务·架构·事件驱动·领域驱动
黎雁·泠崖1 小时前
Java&C语法对比:分支与循环结构核心全解析
java·c语言