首页 > 其他分享 >JVM--类加载机制

JVM--类加载机制

时间:2022-11-11 22:48:47浏览次数:52  
标签:阶段 初始化 读取 -- 引用 JVM 解析 加载

对类加载机制的学习
类加载过程分为五个部分:加载,验证,准备,解析,初始化

加载

加载,这个阶段的工作是查找并加载类的二进制文件,在这个阶段中,类的字节码文件通过类加载器加载到方法区中,并在堆中生成这个类的java.lang.class对象用在对这个类的方法区各种数据的访问接口
通常读取类的字节码文件可以通过本地读取,网络读取,也可以通过读取jar包,war包读取,也可以通过动态代理运行时生成。

验证

验证,这个阶段的工作是确保class文件的子节流中包含的信息符合当前虚拟机要求,并且不会危害虚拟机

准备

准备阶段是对静态变量分配内存,并且初始为默认值
public static int a=3,初始为0,3存放在类构造器方法中
public static final int v=3,直接初始为3,放入常量池中

解析

解析阶段将类中的符号引用转换为直接引用,所谓符号引用指的就是类和接口的全限定名称,字段的名称,方法的名称,所谓转换为直接引用,指的就是运行时从常量池中取出这些符号引用,转换为真正的内存地址

初始化

初始化指得就是对类中的静态变量赋值真正的初值,这个过程就是类构造器方法的执行过程

标签:阶段,初始化,读取,--,引用,JVM,解析,加载
From: https://www.cnblogs.com/spark-cc/p/16882268.html

相关文章

  • 第六章25
    【题目描述】大一的第一节体育课上,老师按照同学们的身高从低到高给大家排好了队形,但是10分钟后又来了一名新同学(由于特殊原因,来晚了),按照现在的队形,他应该站在什么位置呢?请......
  • 图(C)
    图的顺序存储结构邻接矩阵四种图分别实现  下面只给出了有向图的实现,其他三种仅修改最后存储结果即可(网需要读入权重)#include<stdio.h>#defineNumOfVertex200#d......
  • nuxtjs3 踩坑之useHead 中配置本地的js写法
    这里没啥特别的,要注意的是本地的js要配置再public的目录下,举个例子如图:其中代码解释如:useHead({title:"红馆演唱会",script:[{src:'/js/b.js',/......
  • C温故补缺(七):函数指针与回调函数
    函数指针与回调函数函数指针就是指向函数调用栈地址的指针,定义时须和函数的返回值类型,参数类型相同如:#include<stdio.h>intmax(intx,inty){returnx>y?x:y;......
  • 静态路由原理与配置
    一、路由 1、路由就是从源主机到目标主机的转发过程。 2、路由表:对于非直联的网段,需要静态路由或动态路由,将网段添加到路由表中。 3、路由表的形成:直连路由连着......
  • 第六章26
    【题目描述】任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入1593 ,则输出为9531。【输入】仅一行。自然数 n(0<n≤1018)。【输出】仅一行。各位数字......
  • 第六章27
    【题目描述】小明5岁了。他从一堆数字卡片中选出了4张卡片:5、7、6、8。他摆布了一阵这些卡片后,发现它们可以排成比较顺的序列:5、6、7、8。他同样拿了另4张卡片:5、7、1、2,......
  • 198 - Docker+Kubernetes(k8s)微服务容器化实践
                生成md5代码  生成token代码 ......
  • 第六章28
    【题目描述】你知道第二价格竞拍吗?这是非常简单但很有名的一种竞拍方式。在第二价格竞拍中,每个潜在的买家私下的提交,可能是装在密封的信封里或者通过一个安全的联系途径,他......
  • 献芹奏曝-Python面试题-算法-DFS&BFS
    上一篇:献芹奏曝-Python面试题    开篇的话:本文目的是收集和归纳力扣上的算法题,希望用python语言,竭我所能做到思路最清奇、代码最简洁、方法最广泛、性能最高效,了解......