面试:类加载过程、双亲委派

news/2024/9/24 13:25:20/

一、类加载分为三个阶段

1、加载

  • 将类的字节码载入方法区,并创建类.class 对象
  • 如果此类的父类没有加载,先加载父类
  • 加载是懒惰执行

2、链接

  • 验证–验证类是否符合Class规范,合法性、安全性检查
  • 准备-为static变量分配空间,设置默认值
  • 解析–将常量池的符号引用解析为直接引用

3、初始化

  • 执行静态代码块与非final静态变量的赋值
  • 初始化是懒惰执行

二、双亲委派

  • 所谓的双亲委派,就是指优先委派上级类加载器进行加载,如果上级类加载器
  1. 能找到这个类,由上级加载,加载后该类也对下级加载器可见
  2. 找不到这个类,则下级类加载器才有资格执行加载(上级对下级可见,反之不可见)


http://www.ppmy.cn/news/1440948.html

相关文章

SpringBoot学习之SpringBoot3集成OpenApi(三十八)

Springboot升级到Springboot3以后,就彻底放弃了对之前swagger的支持,转而重新支持最新的OpenApi,今天我们通过一个实例初步看看OpenApi和Swagger之间的区别. 一、POM依赖 我的POM文件如下,仅作参考: <?xml version="1.0" encoding="UTF-8"?>…

Redis - Set 集合

目录 前言 命令 SADD 将一个或者多个元素添加到 set 中 语法 SMEMBERS 获取一个 set 中的所有元素 语法 SISMEMBER 判断⼀个元素在不在 set 中 语法 SCARD 获取 set 中的元素个数 语法 SPOP 从 set 中随机删除并返回⼀个或者多个元素 语法 SMOME 将⼀个元素从源 se…

c++位运算

位运算字符及说明&#xff1a; 可以搭配这篇文章&#xff0c;转换二进制&#xff1a;计算机数制转换-CSDN博客

线上社交app的搭建,圈子社交系统,小程序+app+H5三端,源码交付,支持二开!

在科技飞速发展的大背景下&#xff0c;年轻人社交不再局限于面对面&#xff0c;线上社交app已深入各大年轻人的手机中。相比于传统交友方式&#xff0c;线上社交app为用户提供了更加新奇的交友体验。同时&#xff0c;它还可以吸引更多的朋友&#xff0c;提高用户的整体交友体验…

模块三——二分:34.在排序数组中查找元素的第一个和最后一个位置

文章目录 前言题目描述算法原理细节问题 代码实现 前言 相信通过本模块的第一篇博客&#xff0c;大家已经能够对二分有一个清晰的认知了&#xff0c;最好画画图来加深理解&#xff0c;以下是一些新的注意事项&#xff1a; 请⼤家⼀定不要觉得背下模板就能解决所有⼆分问题。⼆…

[嵌入式系统-51]:RT-Thread-启动过程(不包括uboot情况下的RTT自组织初始化流程)

目录 前言&#xff1a; 一、系统架构 1.1 精简版&#xff1a;Nano版本操作系统&#xff1a;只有操作系统内核 1.2 标准版版本操作系统&#xff1a;所有程序在同一个进程中 1.3 Smart版本操作系统&#xff1a;用户与内核隔离&#xff0c;多进程间隔离 二、系统构建过程 2…

ThinkPHP Lang多语言本地文件包含漏洞(QVD-2022-46174)漏洞复现

1 漏洞描述 ThinkPHP是一个在中国使用较多的PHP框架。在其6.0.13版本及以前&#xff0c;存在一处本地文件包含漏洞。当ThinkPHP开启了多语言功能时&#xff0c;攻击者可以通过lang参数和目录穿越实现文件包含&#xff0c;当存在其他扩展模块如 pear 扩展时&#xff0c;攻击者可…

绘唐科技AIGC怎么激活

绘唐科技AIGC怎么激活绘唐科技AIGC怎么激活绘唐科技AIGC怎么激活绘唐科技AIGC怎么激活 这里激活免费3天体验 Docshttps://qvfbz6lhqnd.feishu.cn/wiki/D3YLwmIzmivZ7BkDij6coVcbn7W