美文网首页
Java类加载时机

Java类加载时机

作者: 也马东耳 | 来源:发表于2018-07-22 13:48 被阅读0次

Java类加载器只会在某些特定的情况下才会执行类的加载

以下是经过验证的梳理,如有纰漏请指正


1、new一个对象时

2、使用反射创建对象时

注意,执行Class.forName(a.b.MyObject)语句时会加载相应类对象,而执行MyObject.class语句时则不会加载相应类对象

3、访问类静态部分(静态字段和代码)

注意,访问用final static修饰的String或基本数据类型(不包含包裹对象,如Integer等)时,不会触发被访问类的加载。原因在于String或基本数据类型在javac编译时会将常量生成 ConstantValue属性,引用方的类加载时会直接根据ConstantValue设值,无需加载被引用类

4、main方法所在的类作为程序执行的入口会首先被加载

5、要加载子类时会首先去加载其父类

6、通过子类去访问其父类的静态部分时,不会触发子类的加载

注意,此点与第3点中的ConstantValue并不矛盾,也即通过子类访问父类的静态部分时,有可能两者都不被加载

7、声明数组时不会执行对应类加载,如执行MyObject[] arr = new MyObject[5];时

相关文章

  • 技术文章收集

    单例模式Java 类加载静态类加载时机

  • 虚拟机类加载机制

    虚拟机类加载机制 @(Java虚拟机)[类加载] [TOC] 类加载时机 类加载到卸载的生命周期包括: 加载(Lo...

  • Java类加载机制和对象创建过程

    Java类加载机制和对象创建过程 1、类加载 类加载的时机 ​ 类加载,即虚拟机加载.class文件。什么时候虚拟...

  • Java类加载机制

    引言 介绍一下java类加载的过程 类加载的时机 类从被加载到java虚拟机内存中开始,被分为7个阶段,包括加载,...

  • Java类加载时机

    Java类加载器只会在某些特定的情况下才会执行类的加载 以下是经过验证的梳理,如有纰漏请指正 1、new一个对象时...

  • 我的秋招之路-面经篇

    Java基础 类加载的时机和类初始化的时机(引出tomcat类加载器)JVM和绝大多数用户自定义的类在JVM启动的...

  • 深入理解jvm类加载机制

    1.什么是类加载? 类加载机制一个很大的体系,包括类加载的时机,类加载器,类加载时机。 1.1类加载过程 加载器加...

  • class(三)ClassLoader类加载机制

    字节码文件是如何被加载的?以及加载时机 java中的已有的类加载器 双亲委派机制 通过自定义类加载器加载磁盘的字节...

  • 类加载机制

    目录 概念 加载过程 初始化时机 类初始化顺序注意点 双亲委派模型 自定义类加载器 类加载 概念 Java虚拟机把...

  • java加载类的时机

    一个类的生命周期从加载到内存开始,卸载内存结束。包括加载、验证、准备、解析、初始化、使用、卸载七个阶段。验证、准备...

网友评论

      本文标题:Java类加载时机

      本文链接:https://www.haomeiwen.com/subject/uiplmftx.html