`
endual
  • 浏览: 3545389 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 虚拟机 类初始化时机

    博客分类:
  • java
 
阅读更多

类的初始化时机

java虚拟机只有在程序首次主动使用一个类或者接口的时候才会初始化它吗。

只有六种情况活动被看做是程序对类或者接口的主动使用。

什么是主动使用,我理解是  这个类 并没用被程序使用,但是虚拟机却要初始化它。

 

1.创建类的实例。创建类的实例的途径包括:用new语句创建实例,或者是通过反射,克隆,以及

反序列化手段来创建实例

 

2.调用类的静态方法

 

3.访问某个类或者接口的静态变量,或者对该静态变量赋值

 

4.调用java API中的反射方法

 

5.初始化一个类的子类。

 

6.java 虚拟机启动时被表明为启动类的类。

分享到:
评论

相关推荐

    深入java虚拟机(三)——类的生命周期(下)类的初始化1

    【深入Java虚拟机(三)——类的生命周期(下)类的初始化1】 类的生命周期在Java中是一个关键的概念,它涵盖了从加载到卸载的整个过程。在类的生命周期中,初始化阶段是非常重要的,因为它涉及到类的静态变量的赋值...

    Java虚拟机----类的加载过程.docx

    初始化阶段是最后一步,它按照特定的时机触发类的初始化。Java虚拟机规范规定了5种触发初始化的主动引用情况: 1. 使用new关键字实例化对象。 2. 访问或修改类的静态字段(不包括final修饰的静态常量)。 3. 调用类...

    Java类初始化时机测试方法解析

    Java类初始化时机测试方法解析 Java类初始化时机测试方法解析是Java编程语言中一个重要的概念,涉及到类的加载、链接、初始化等过程。下面我们将对Java类初始化时机测试方法进行详细的解析。 首先,我们需要了解...

    北京圣思园深入Java虚拟机

    ### 深入理解Java虚拟机之ClassLoader机制 ...通过上述分析,我们可以看到Java虚拟机的类加载机制是非常复杂且灵活的,能够支持各种不同场景下的类加载需求。理解这些机制对于优化Java程序的性能和资源利用至关重要。

    Java虚拟机装载和初始化一个class类代码解析

    Java 虚拟机装载和初始化一个 Class 类代码解析 Java 虚拟机装载和初始化一个 Class 类是 Java 应用程序开发中的一个关键步骤。只有被 Java 虚拟机装载的 Class 类型才能在程序中使用。下面,我们来详细解析 Java ...

    java初始化和清理

    这种加载方式主要得益于Java虚拟机(JVM)的设计,JVM在类首次主动使用时进行初始化,具体时机包括创建类的实例、访问类的静态变量或方法以及子类的初始化等。这样的设计有助于支持Java的平台无关性和动态扩展性。 ...

    浅谈JAVA虚拟机JVM及工作原理

    "浅谈JAVA虚拟机JVM及工作原理" ...初始化阶段是根据程序员自己写的逻辑去初始化类变量和其他资源。 通过对 JVM 的架构和工作原理的了解,我们可以更好地理解 Java 程序的执行过程,从而更好地编写和优化 Java 程序。

    深入java虚拟机第二版.rar

    同时,作者还会探讨类与接口的关系、类的初始化以及类加载器的生命周期,这些都是理解Java程序动态性的重要基础。 在垃圾回收方面,书中详细阐述了不同类型的GC算法,如标记-清除、复制、标记-整理、分代收集等,...

    解析Java虚拟机中类的初始化及加载器的父委托机制

    类的初始化时机则分为主动使用和被动使用。主动使用包括: 1. 创建类的实例。 2. 访问类的静态变量或对其进行赋值。 3. 调用类的静态方法。 4. 使用反射`Class.forName`。 5. 初始化子类。 6. JVM启动时作为启动类的...

    深入理解Java 虚拟机 原代码

    本章可能涵盖类的实例化过程、静态域和静态初始化器、对象头的结构以及对象的内存布局等内容,这些都是理解Java对象生命周期的关键。 第11章:虚拟机性能监控与故障处理工具(未列出) 本章介绍了用于分析和调试JVM...

    Java虚拟机分析

    例如,类加载机制的设计需要考虑到动态类加载、类的链接和初始化的时机和顺序。执行引擎的实现需要考虑字节码指令的解释执行和编译执行的策略选择以及性能调优。垃圾收集器的设计需要考虑内存管理策略和垃圾回收算法...

    Java虚拟机技术手册.docx

    - **定义**:类的加载机制是指Java虚拟机如何将类的.class文件读入内存,并对数据进行校验、转换解析和初始化的过程。 - **三个阶段**:加载、链接(验证、准备、解析)、初始化。 - **类加载器体系**:包括启动类...

    深入理解Java虚拟机视频教程(jvm性能调优+内存模型+虚拟机原理)视频教程

    第92节类加载的过程-初始化00:19:41分钟 | 第93节类加载器00:22:41分钟 | 第94节双亲委派模型00:17:03分钟 | 第95节运行时栈帧结构00:08:46分钟 | 第96节局部变量表00:20:48分钟 | 第97节操作数栈00:08:36分钟 ...

    Java虚拟机

    7.3.5 初始化 7.4 类加载器 7.4.1 类与类加载器 7.4.2 双亲委派模型 7.4.3 破坏双亲委派模型 7.5 本章小结 第8章 虚拟机字节码执行引擎 8.1 概述 8.2 运行时栈帧结构 8.2.1 局部变量表 8.2.2 操作数栈 ...

    调整 Java 虚拟机

    例如,通过控制类的加载时机,可以减少不必要的初始化,从而节省资源。 在调整过程中,了解所使用的 JVM 类型至关重要。IBM JVM 和基于 HotSpot 的 JVM 有不同的特性和调整选项。例如,IBM JVM 支持 `-Xquickstart`...

    java虚拟机 JVM 基础 高级特性

    2. **类加载机制**:包括加载、验证、准备、解析和初始化五个阶段,确保类的安全性和正确性。 3. **内存模型**:JVM的内存分为堆、栈、方法区、程序计数器和本地方法栈等区域,了解它们各自的用途和管理方式是理解...

    深入java虚拟机

    1. 类加载机制:JVM如何加载、链接和初始化类,包括类加载器(Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader以及自定义ClassLoaders)的作用,双亲委派模型以及类加载的时机。 2. 字节码解析:...

    java虚拟机总结

    - **检查**:首先检查这个对象的类是否已经被加载、解析和初始化过。 - **分配内存**:为新生对象分配内存,并执行零值初始化。 - **初始化**:执行对象构造器中的代码进行初始化。 2. **对象的内存布局** - ...

Global site tag (gtag.js) - Google Analytics