Java面试篇基础部分-Java的类加载机制

news2024/11/26 5:28:49

JVM的类加载

  JVM在运行Java文件的时候,类加载分为5个阶段:加载、验证、准备、解析、初始化。在类初始化加载完成之后,就可以使用这个类的信息了。当这个类不需要使用的时候,就可以从JVM进行卸载。
在这里插入图片描述
加载

  加载是指JVM读取Class文件的操作,并且根据Class的文件描述创建对应的java.lang.Class对象的过程。我们知道在Java中可以通过Class.forName()的方式进行反射操作。类加载过程中包含将Class文件读取到运行时区域的方法内,并且在堆内存中创建java.lang.Class对象,并封装类在方法区的数据结构的过程。在读取Class文件的时候可以通过文件的形式进行读取,也可以通过jar包或者是war的形式读取,还可以通过动态代理的方式自动生成Class或者通过其他的读取方式进行操作。

验证

  主要是为了保证Class文件符合当前虚拟机的要求,保证虚拟机自身的安全,只有通过对应安全机制验证的Class文件才能被JVM顺利加载。
在这里插入图片描述
准备
  主要的工作是在方法区中为类变量分配内存空间,并且设置类中的变量的初始化操作。初始值是指不同数据类型的默认值,需要注意的是final类型的变量和非final类型的变量在准备阶段的数据初始化过程不同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2124775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工厂安灯系统在优化生产流程上的优势丨深圳讯鹏科技

工厂安灯系统通过可视化的方式,帮助工厂管理者和操作工人及时了解生产状态,快速响应问题,从而优化生产流程。 一、安灯系统实时监控与反馈 安灯系统的核心功能是实时监控生产线的状态。通过在生产现场设置灯光、显示屏等设备,工人…

单片机拍照_将采集的RGB图像封装为BMP格式保存到SD卡

文章目录 一、前言二、BMP文件结构2.1 BMP图片的格式说明 2.2 RGB888与RGB565格式是什么?(1)RGB565(2)RGB888(3)区别(4)如何构成(5)示例 三、实现…

yolo训练出现Could not load library libcudnn_cnn_train.so.8问题及解决方法

问题场景: 训练yolov5或者yolov8时候会报错: Could not load library libcudnn_cnn_train.so.8. Error: /usr/local/cuda-12.1/lib64/libcudnn_cnn_train.so.8: uined symbol: _ZN5cudnn3cnn34layerNormFwd_execute_internal_implERKNS_7backend11Vari…

【EasyExcel】@ColumnWidth(value = 20) EasyExcel设置列宽不生效

经过测试发现,只有XLS,ColumnWidth注解才会生效,选择CSV和XLSX都不会生效 //对应的导出实体类 EasyExcel.write(outputStream, Result.class)//excel文件类型,包括CSV、XLS、XLSX.excelType(ExcelTypeEnum.XLS)

当你学会了Python,随手爬取电影榜单!

一、爬电影TOP250 python爬取电影TOP250数据! 首先,打开电影TOP250的页面: https://movie.douban.com/top250 开发好python代码后,成功后的csv数据,如下: 代码是怎样实现的爬取呢?下面逐一讲…

计算机网络相关概念

名词解释: 1.ARPANET ARPANET(Advanced Research Projects Agency Network)是由美国国防部高级研究计划局(ARPA)在1969年启动的一个实验性计算机网络项目。它是世界上第一个分组交换网络,也是互联网的前身…

springboot《计算机网络》在线考试系统-计算机毕业设计源码22248

摘要 计算机网络课程是计算机科学与技术、信息技术及相关专业的一门重要课程。然而,在传统的教育模式下,计算机网络课程的考核方式多以纸质试卷为主,这种方式存在诸多弊端。一方面,试卷的编制、印刷、分发、收缴等环节耗时耗力&am…

遗传算法求解VRP路径规划问题

文章目录 题目:快递公司送货策略VRP问题简介遗传算法项目地址代码说明代码结构求解流程举例求解目标求解步骤 总结 打数模国赛前拿来练手的题,现在题目求解思路分享给大家,包括 所有源代码 和 高清pdf论文,希望能对大家有所帮助…

多线程篇(其它容器- CopyOnWriteArrayList)(持续更新迭代)

一、CopyOnWriteArrayList(一) 1. 简介 并发包中的并发List只有CopyOnWriteArrayList。 CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数 组(快照)上进行的&#xff0…

解决 git 不是内部或外部命令,也不是可运行的程序

目录 报错提示: 一、解决办法 1、从git官网下载windows版本的git 2、安装 3、注意事项 二、报错 1、解决 fatal: Not a git repository (or any of the parent directories): .git 问题 报错提示: 一、解决办法 Windows下配置Git: 1…

sap公司间交易(采购单转储)-公司间交易价格的配置

sap 公司间交易(采购单转储)-公司间交易价格的配置 对于通过采购单转储方式实现公司间交易,公司间交易价系统标准设计是,购货方采用采购单上的单价做为发票校验的价格,而销售方由于没有销售单,则采用的是在 vk11 里维护的公司间售价,这种做法的坏处是经常要同步这两个价格…

error C2275: 将此类型用作表达式非法-解决方案

最近在进行将C移植C的项目,代码改完,生成解决方案时,出现如下错误: 在移植c代码到c的时候,经常会出现一个奇怪的错误:“error C2275: “xxxxx”: 将此类型用作表达式非法” 两个错误属于同一类型&#xff…

投资一家无人机培训机构技术详解

无人机培训机构是随着无人机技术的快速发展和普及而兴起的一种专业培训机构。这类机构专注于为学员提供无人机相关的理论知识、操控技能以及应用技术培训,以满足不同领域对无人机人才的需求。 1. 市场调研与定位 市场调研 在投资无人机培训机构之前,深…

OpenWRT有三个地方设置DNS,究竟设置哪个地方会更好?

前言 刚上手OpenWRT软路由系统的小伙伴或许都会有这样的疑问:OpenWRT这个系统有三个地方是设置DNS的,究竟设置哪一个才是正确的? 这个还得从实际应用说起。 一般来说,咱们在使用路由器的时候,DNS都是默认运营商的DN…

YOLOV3实现越界检测——智能安防

目录 应用前景 1. 安全监控系统 2. 家庭安防系统 3. 无人机监控 4. 交通管理 5. 无人驾驶技术 6. 大型活动现场 代码说明 1. YOLO 模型加载 2. 摄像头视频流捕获 3. 安全区域绘制 4. YOLOv3 目标检测 5. 过滤和标记人类目标 6. 入侵检测 7. 结果显示和退出 总结…

黑神话怎么录?游戏录屏必备,探索2024年7款游戏录屏软件排行榜

在游戏世界中,记录下每一个精彩瞬间已成为玩家们的共同需求。2024年,随着《黑悟空神话》等大作的问世,玩家们对于游戏录屏软件的需求愈发高涨。本文将为您推荐几款在2024年备受好评的游戏录屏软件,帮助您捕捉游戏中的每一个高光时…

NLP-文本分类文献阅读-前置基础-词汇解释-通俗易懂-9月份-学习总结

目录 迁移学习 特征选择 特征工程 朴素贝叶斯分类方法 支持向量机 K-最近邻(K-Nearest Neighbors, KNN) 特征向量稀疏 卷积神经网络 循环神经网络 图神经网络 TextCNN 动态 K 最大池化 One-hot BOW Word2vec 池化(Pooling) 全连接…

Python画笔案例-043 绘制“篱笆“

1、绘制 “篱笆” 通过 python 的turtle 库绘制 “篱笆”,如下图: 2、实现代码 绘制 “篱笆”,以下为实现代码: """篱笆.py """ import turtledef draw_triangle():"""画正三角形函…

万物皆AI:联发科技 Genio 130 与 ChatGPT 的火花 - 基于 MTK Genio 130 结合 ChatGPT 功能的解决方案

随着人工智慧(AI)在2022-2023的爆炸性成长,我们迎来了AI世代,无论是交通、工业、金融、制造、医疗等各领域,AI已被广泛的应用来解决各类问题与加速发展。伴随著AI走入我们的生活,我们也在所拥有的各类智慧装置上,看到各…