首页 > 其他分享 >JVM加载中初始化时机?什么时候不会进行初始化?

JVM加载中初始化时机?什么时候不会进行初始化?

时间:2022-11-21 01:55:07浏览次数:46  
标签:初始化 触发 静态 子类 JVM 不会 父类 加载

初始化的过程是给静态变量赋予指定值以及执行静态代码块的过程。
当遇到new,getstatic,putstatic,invokestatic指令时要进行初始化,也就是new实例化对象,调用静态变量以及静态方法时要对类进行初始化,第二就是如果初始化一个类,发现他的父类没有初始化,就需要先初始化他的父类。还有一些不需要初始化的时候,如子类调用父类的静态变量,只会触发父类初始化,不会触发子类初始化,第二就是如果使用的字段是常量,即static final修饰的,那么也不会触发类的初始化,还有就是使用forname方法,initialization置为false也不会触发初始化,loadclass方法也不会触发初始化。

标签:初始化,触发,静态,子类,JVM,不会,父类,加载
From: https://www.cnblogs.com/spark-cc/p/16910194.html

相关文章

  • 类的加载
    类的加载与ClassLoader的理解加载:将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class对象,作为方法......
  • rust struct 初始化的语法糖 - struct update syntax
    rust语法提供了..操作符来实现struct更新的语法糖,参见StructUpdatesyntax。废话少说,直接定义一个学生的struct:#[derive(Default,Debug)]structStudent{age:......
  • html中的两个下拉列表动态的加载内容
    <script language="javascript">  varfunctionif(window.ActiveXObject)  new ActiveXObject("Microsoft.XMLHTTP");  else if(window.XMLHttpRequest)  new} ......
  • javascript: 用图片加载演示promise的应用(chrome 107.0.5304.110)
    一,js代码:<html><head><metacharset="utf-8"/><title>测试</title></head><body><imgid="img"src=""/><script>//记录开始时间leta=newDate......
  • webpack热加载等一些常用配置
    1、查看webpack打包文件以及对应信息webpack--display-modules--display-reasons2、webpack-p:会对文件进行优化,压缩等3、webpack-d:对应配置文件的devtool4、webpack......
  • 决策树(二):后剪枝,连续值处理,数据加载器:DataLoader和模型评估
    在上一篇文章中,我们实现了树的构造,在下面的内容中,我们将中心放在以下几个方面1.剪枝2.连续值处理3.数据加载器:DataLoader4.模型评估 一,后剪枝•为什么剪枝  –......
  • Java程序初始化顺序
    1.按Java理论,父类与子类的初始化顺序为:1.初始化父类静态变量2.初始化父类的静态代码块3.初始化子类的静态变量4.初始化子类的静态代码块5.父类的非静态变量6.父类的......
  • JVM - 1.内存结构
    1内存结构1.1程序计数器1.1.1作用在执行的过程中,记住下一条jvm指令的执行地址物理上通过寄存器实现1.1.2特性每个线程都有自己的程序计数器-线程私有......
  • Spring bean 延迟加载
    ApplicationContext实现的默认行为就是在启动时将所有singletonbean提前进行实例化。提前实例化意味着作为初始化过程的一部分,ApplicationContext实......
  • [Bug0054] Centos7.x初始化数据库时./mysqld: error while loading shared libraries:
    问题Centos7.x初始化数据库时执行命令行mysqld--initialize--usermysql报错:./mysqld:errorwhileloadingsharedlibraries:libaio.so.1:cannotopensharedobj......