类的加载生命周期

2023-10-27

类的加载生命周期

在这里插入图片描述

1、加载

”加载“是”类加机制”的第一个过程,在加载阶段,虚拟机主要完成三件事:

(1)通过一个类的全限定名来获取其定义的二进制字节流

(2)将这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构

(3)在堆中生成一个代表这个类的Class对象,作为方法区中这些数据的访问入口。

注意此时会扫描到我们的代码中是否有静态变量或者是静态方法等等这些静态数据结构,还未分配内存。

2、验证

验证的主要作用就是确保被加载的类的正确性。

3、准备

准备阶段主要为类变量分配内存并设置初始值。这些内存都在方法区分配。注意此时就会为我们的类变量也就是静态变量分配内存,但是普通成员变量还没。

4、解析

解析阶段主要是虚拟机将常量池中的符号引用转化为直接引用的过程。

5、初始化

这是类加载机制的最后一步,在这个阶段,java程序代码才开始真正执行。我们知道,在准备阶段已经为类变量赋过一次值。在初始化阶端,程序员可以根据自己的需求来赋值了。初始化时候才会为我们的普通成员变量赋值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类的加载生命周期 的相关文章

  • 浏览器的选择建议,按照这些建议选,总能找到合适的

    浏览器可以说是电脑的标配了 几乎每台电脑都安装有浏览器 最近 很多朋友询问哪些浏览器比较好用啊 今天给大家分享一下浏览器的选择建议 让大家都能选到适合自己的浏览器 同时 系统全面的介绍各家浏览器的特点 哪些值得我们花时间试用 浏览器的选择建
  • 如何在C语言中将文字显示为花里胡哨的多种颜色

    Hello大家好 最近刚刚做完C语言的课程设计 在评分标准中有一项是展示界面美观整洁 学前端的我对花里胡哨的界面情有独钟 这里为大家简单介绍三种改变字体颜色的方法 注意 本文中所有演示截图均来自VS 2022 目录 改变C语言显示界面字体颜
  • Base64转二进制文件流以及转File、图片转Base64、二进制流转Base64

    1 Base64转二进制文件流 方法一 Base64字符串转二进制流 param String dataurl Base64字符串 字符串包含Data URI scheme 例如 data image png base64 function
  • 智能硬件开发如何选择低功耗MCU?

    本文转载至 http www iot online com IC embedded 2015 090928393 html 本文将市场上典型的低功耗MCU系列进行了比较 分析得出基于ARM Cortex M0 内核的MCU系列最适合穿戴式医
  • 【GAOPS006】CRC8串行计算原理和verilog实现

    1 定义 X P N R X 被除数 P 除数 p 1 表示p bit位宽 N 商 不关心 R 余数 CRC值 2 规则 很简单就一个 1 补零 CRC8 算出来的校验和有8bit CRC16算出来的校验和有16bit 在需要计算的数据X被
  • 十、Mybatis的choose (when, otherwise)标签使用

    choose标签的作用 按顺序判断其内部when标签中的test条件出否成立 如果有一个成立 则 choose 结束 当 choose 中所有 when 的条件都不满则时 则执行 otherwise 中的sql 类似于Java 的 swit
  • 编写Java程序,建立一个人类(Person)和学生类(Student)

    编写Java程序 建立一个人类 Person 和学生类 Student 要求如下 Person中包含4个私有的数据成员name addr sex age 分别为字符串型 字符串型 字符型 整形 表示姓名 地址 性别和年龄 用一个4参构造方法
  • vue导入图标的3种方式【阿里图标】

    第一种方式 Font class css 点击 Font class 下载至本地 解压之后导入到项目 src assets icon 这个是 iconfont css 文件 font face font family iconfont Pr
  • Java面向对象之函数式编程

    1 函数式编程 在数学中 函数就是有输入量 输出量的一套计算方案 也就是 用什么东西做什么事情 相对而言 面向对象过分强调 必须通过对象的形式来做事情 而函数式思想则尽量忽略面向对象的复杂语法 强调做什么 而不是以什么形式来做 1 1 做什
  • MongoDB 数据库操作汇总

    本篇主要用于汇总MongoDB专栏 提供快速访问链接 一 安装与基本介绍 MongoDB安装与使用 MongoDB 中的基本概念 MongoDB 数据库操作 MongoDB 集合操作 二 CRUD操作 MongoDB 插入文档 插入一个 批
  • 【论文阅读】Mixed Precision Training

    GiantPandaCV导语 混合精度是一个非常简单并且实用的技术 由百度和谷歌联合发表于ICLR2018 可以让模型以半精度的方式训练模型 既能够降低显存占用 又可以保持精度 这篇文章不是最先提出使用更低精度来进行训练 但是其影响力比较深
  • 该文件没有与之关联的应用程序来执行该操作。请安装应用,请在"默认应用设置"页面中创建关联

    最近在win10新安装的一个应用程序 在程序中打开指定文件时报了 该文件没有与之关联的应用程序来执行该操作 请安装应用 请在默认应用设置 页面中创建关联 原因是该文件没有默认的打开程序 如果是txt或xml这些文件 可以右击这个文件 设置其
  • vscode缩进和Eslint缩进问题解决

    vscode缩进和Eslint缩进问题解决 vscode更改换行时的缩进 如果更改失效 取消该属性勾选 Eslint 缩进校验修改
  • 解决问题记录2:项目内使用lombok的@Log4j2失效

    问题描述 在使用Log4j2注解后 程序中使用log 启动加载时报错 找不到相对的依赖 检查lombok的依赖是正确的添加的 问题解决 尝试了网上的众多方法都没有解决 后想到是否是有其他的jar内做了lombok的依赖 导致依赖到了其他ja
  • JSP使用最简单的echarts图入门

    jsp使用最简单的echarts图表 jsp项目中应用最简单的一个折线图 柱状图等 一 echarts官网使用 首先打开echarts的api官方文档 官网 https echarts apache org examples zh inde
  • 算法的复杂度

    常用的算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O n2 O n2 稳定 O 1 快速排序 O n2 O n log2n 不稳定 O log2n O n 选择排序 O n2 O n2
  • 我在知乎学写作

    最懂技术的传播者 最懂传播的工程师 最近被知乎成功 忽悠 报名了一个 写作新人培养计划 的课程 写作新人 这老黄瓜未免也太能给自己刷绿漆了吧 心里头想着 还是得push自己 在内容创作的道路上 搞点事情啊 咋回事呢 为什么是知乎 从媒体江湖
  • Ubuntu20.04 ROS noetic安装教程

    注意 本贴是ros官网的方法 使用ros原版官方源 不是国内镜像 适合网络环境比较好的小伙伴 添加源 sudo sh c echo deb http packages ros org ros ubuntu lsb release sc ma
  • NUC980开源项目6-获取官方源码

    上面是我的微信和QQ群 欢迎新朋友的加入 项目码云地址 国内下载速度快 https gitee com jun626 nuc980 open source project 项目github地址 https github com Jun117
  • vulnhub靶机Thoth-Tech

    下载地址 https download vulnhub com thothtech Thoth Tech ova 主机发现 arp scan l 目标 192 168 21 148 端口扫描 nmap min rate 10000 p 19

随机推荐

  • 页面服务器不稳定因为什么,关于网站出现“该页面因服务器不稳定可能无法正常访问”的提示...

    TOC 网站的说法 原文链接 http bbs 360 cn thread 15235172 1 1 html 关于网站出现 该页面因服务器不稳定可能无法正常访问 的提示 近期我们接到一些用户反馈 网站出现 该页面因服务器不稳定可能无法正常
  • Istio是啥?一文带你彻底了解!

    Istio是啥 一文带你彻底了解 什么是 Istio 官方对 Istio 的介绍浓缩成了一句话 An open platform to connect secure control and observe services 翻译过来 就是
  • IDEA快速搭建SpringBoot项目

    项目搭建 创建项目 配置项目信息 依赖选择 可选可不选 根据实际需求来 主要都是后期导入 先选择的话 选择Web下的SpringWeb以及Template Englines下的Thymeleaf就够用了 SQL可以勾选MySQL Drive
  • Android蓝牙连接出现133的解决办法

    代码片段 出现连接133的问题找了很久的解决办法 尝试各种亦然不行 最终的解决办法就是下面标红代码 if status BluetoothGatt GATT SUCCESS if newState gatt STATE CONNECTED
  • redis配置文件详解

    redis配置文件详解 1 开头说明 这里没什么好说的 需要注意的是后面需要使用内存大小时 可以指定单位 通常是以 k gb m的形式出现 并且单位不区分大小写 2 INCLUDES 我们知道Redis只有一个配置文件 如果多个人进行开发维
  • 新建虚拟机与本机ping不通(一招解决)

    初始新建虚拟机或者复制虚拟机后 发现虚拟机能ping通内外网 但是本机无法ping通虚拟机 xshell也无法连接虚拟机 这时候就很头疼了 因为要上传很多文件到虚拟机上面 解决办法 1 关闭虚拟机后 打开虚拟机的虚拟网络编辑器 虚拟机 编辑
  • 抖音直播伴侣使用教程

    抖音直播伴侣使用教程分享 红色框区域 管理场景 添加素材 切换横竖屏 蓝色框区域 常用直播功能 绿色框区域 开关播控制 性能占用情况 官方公告 黄色框区域 直播榜单 白色框区域 弹幕窗口 中央区域 直播画面采集预览 抖音直播伴侣功能介绍 添
  • Vue入门

    npm install g cnpm registry https registry npm taobao org cnpm install global vue cli vue init webpack my project cd my
  • 大厂 H5 开发实战手册

    京东凹凸实验室 Aotu io 英文简称 O2 创立于 2015 年 10 月 为掘金最早一批联合编辑 拥有数千关注者 O2 对内负责京东 PC 端首页 多个频道页 小程序版本京东购物 微信手 Q 京东购物 M 端京东 各类营销活动场景 H
  • Java使用TreeSet来排序学生成绩

    Java TreeSet TreeSet是一个有序的集合 它的作用是提供有序的Set集合 在java中使用 下面我们来进行一个实例来操作一下 具体看看怎么使用 我们的要求是用TreeSet集合存储多个学生对象的姓名 语文和数学成绩 然后按照
  • 一道经典面试题透彻理解面向对象编程思想和简单工厂模式

    一道经典的面试题如下 用一种面向对象编程语言实现一个计算器来满足整数的加减乘除运算 大部分人的代码如下 1 0版本 include
  • 【教程&工具】微信同步文章到Bear

    在我日常工作中 我会将各种互联网以及生活中产出的信息汇总到Bear 再通过Bear的云同步使我各个终端的信息保持一致 以前在使用有道云笔记的时候 有个功能我很喜欢 就是当看到一篇想收藏的文章的话 就可以直接右上角发送到有道云笔记 如下图 顺
  • “蓝桥杯总结”

    历时一个学期第十四届蓝桥杯也算是落下帷幕了 我报的是java B组从什么都不懂到省一 自己都觉得不可思议 再到国优 优秀奖也就是安慰奖 这一次参赛虽然国赛等于没拿奖 但对我而言已经很满意了 正经总结可能还要说点经验什么的 但我备赛确实没什么
  • SpringBoot之一次关于bootstrap.yaml文件的思考

    一次关于bootstrap yaml文件的思考 1 简介 2 前言 3 BootstrapApplicationListener 4 ConfigFileApplicationListener 最后 1 简介 本文不是介绍yaml的语法 是
  • OpenCV t reshold函数

    threshold函数作用 去掉噪 例如过滤很小或很大像素值的图像点 threshold函数python版原型 retval dst cv threshold src thresh maxval type dst 参数说明 src 原图像
  • golang-实现自己的事件驱动

    golang实现自己的事件驱动 众所周知 go中的异步操作都已经封装在了运行时的过程中 有关socket的网络的异步操作都封装到了go的netpoll中 从而简化了编程形式 本文也就根据evio库总结而来 golang跨平台库 如何编写go
  • 【笔记】buck/boost/buck-boost相关计算公式

    目录 BUCK 输入与输出 电感纹波电流 电感感量 电感电流 输出纹波电压 输入电容纹波电流 电感相关参数 感量 额定电流 温升电流 饱和电流 DCR 直流阻抗 开关频率 BOOST 拓扑 BUCK BOOST 拓扑 波形 学习过程中做好笔
  • 软考之项目网络图(活动图)

    搜集各种例题及解析已提供更好的理解
  • Thumbnails操作图片发红的问题解决

    这个问题其实是由于这条语句导致的错误 ImageIO read new File watermark png 0 5f 所以我们用bufferedimage构造就不会出现这个问题 下面 ImageWrapper imageWrapper I
  • 类的加载生命周期

    类的加载生命周期 1 加载 加载 是 类加机制 的第一个过程 在加载阶段 虚拟机主要完成三件事 1 通过一个类的全限定名来获取其定义的二进制字节流 2 将这个字节流所代表的的静态存储结构转化为方法区的运行时数据结构 3 在堆中生成一个代表这