美文网首页
Java 类装载

Java 类装载

作者: 勤任风 | 来源:发表于2020-01-13 19:26 被阅读0次

java类装载分为两种方式:
(1)预先加载

(2)按需加载

由于可对类进行预先加载,所以在程序启动时,不需要将所有的类都加载到JVM中,只有需要时才会加载,即大部分类被延迟到要使用时才加载,这成为java运行时的动态加载机制。

Java基础类是程序运行的基础,采用的是预先加载的方式。


那么按需加载,具体是什么样的条件才会去加载呢?

答:当这个类的静态成员被第一次引用时,就会触发按需加载。这个静态成员包括:静态方法,静态属性,构造方法。

PS1:当访问常量静态常量属性时,JVM加载类的过程不会进行初始化的工作

PS2:尽管构造方法没有显示声明为静态方法,但是仍被作为类的静态成员特例,因此,使用new来构造一个对象时,JVM还是会加载这个类。

例子说明:

代码如图1,运行结果如图2

图1 图2

当调用Test1的静态常量属性时,并没有执行Test1的静态域代码,只有在new Test1时,才进行了初始化工作

相关文章

  • [Java] 类装载器的体系结构

    在Java虚拟机中,存在着多个类装载器,称为类装载器子系统。一个Java程序可以使用两种类装载器,启动类装载器和用...

  • JAVA虚拟机体系结构(二)

    类装载子系统 在JAVA虚拟机中,负责查找并装载类型的那部分被称为类装载子系统。JAVA虚拟机有两种类装载器:启动...

  • java重中之重——类装载器的体系结构

    一个Java应用程序可以使用两种类装载器:"启动(bootstrap)"类装载器和用户定义的类装载器。启动类装载器...

  • java类装载器ClassLoader

    java类装载器ClassLoader1.类装载器的工作机制类装载器就是寻找类的字节码文件并构造出类在JVM内部表...

  • ClassLoader源码解析

    Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质...

  • 深度分析Java的ClassLoader机制(源码级别)

    Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质...

  • 深度分析Java的ClassLoader机制(源码级别)--委托

    写在前面:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做...

  • java ClassLoad加载机制

    写在前面:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做...

  • 类装载器ClassLoader

    类装载器工作机制 类装载器就是寻找类的节码文件并构造出类在JVM内部表示对象的组件。在Java中,类装载器把一个类...

  • java类的初始化

    在java中,一个类被使用要经过装载,连接,初始化这样的过程 一、装载: 类装载器(Bootstrap Class...

网友评论

      本文标题:Java 类装载

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