`

JVM学习笔记七 之 初始化(类型的生命周期系列)

    博客分类:
  • jvm
阅读更多

初始化阶段是为类型变量赋予正确的初始值,初始化分为两个阶段:

1、如果直接超类还没有进行初始化,则先初始化直接超类。

2、如果类存在一个初始化方法<clinit>,则调用该方法。

<clinit>是在编译java源码时,按照静态块和静态变量赋值语句的顺序生成的。如果类没有静态块也没有为静态变量赋值,就不会生成<clinit>方法,该方法只能被虚拟机调用。

<clinit>由虚拟机自动调用,不需子类显示调用。接口也会生成<clinit>方法。jvm会保证多个线程同时加载一个类的时候,初始化块的运行顺序。

另外前边说到装载的时候已经提到,只有主动使用类的6种情况下才会初始化一个类,被动使用的时候不会初始化类。

分享到:
评论

相关推荐

    JVM学习笔记.docx

    - 类的生命周期包括加载、验证、准备、解析、初始化、使用和卸载七阶段。 - JVM在四种情况下强制初始化类:new实例、访问静态字段(非final常量)、调用静态方法、虚拟机启动时指定的主类。 3. **加载**: - ...

    JVM学习资料+笔记

    1. 类加载机制:JVM按照类加载器、双亲委派模型、验证、准备、解析、初始化等步骤加载类。了解这一过程有助于理解类的生命周期和防止类冲突。 2. 字节码执行引擎:JVM通过解释器和即时编译器(JIT)来执行字节码,...

    JVM学习笔记核心知识点整理

    ### JVM学习笔记核心知识点整理 #### 一、引言与背景 随着软件开发技术的不断发展,Java作为一种广泛应用的编程语言,其背后的核心技术——Java虚拟机(JVM)的重要性日益凸显。掌握JVM不仅可以帮助开发者更好地理解...

    jvm学习笔记

    《JVM学习笔记》 Java虚拟机(JVM)是Java平台的核心组成部分,它负责运行所有的Java应用程序。这篇笔记将深入探讨JVM的工作原理、内存管理、类加载机制以及优化策略,帮助读者全面理解JVM并提升Java程序的性能。 ...

    JVM笔记(阳哥).zip

    了解这个过程有助于我们理解和控制类的生命周期。 四、垃圾收集与内存优化 JVM的垃圾收集机制负责自动回收不再使用的对象所占用的内存,主要有标记-清除、复制、标记-整理和分代收集等算法。理解垃圾收集的工作...

    JVM的学习笔记PDF版

    这份“JVM的学习笔记PDF版”应该包含了关于JVM的详细信息,帮助学习者深入理解这个复杂的系统。JVM允许Java代码跨平台运行,通过解释器、类加载器、垃圾收集器等组件实现“一次编写,到处运行”的理念。 1. **JVM...

    jvm学习笔记(jvm内存模型&垃圾收集算法&类加载机制)

    栈帧的生命周期与方法同步,线程私有。 - **本地方法栈**:与虚拟机栈相似,但服务于本地(Native)方法。 - **堆**:所有线程共享,存储对象实例和数组。堆被分为新生代和老年代,新生代用于短期对象,老年代用于...

    狂神说JVM探究.rar

    - 类的生命周期包括加载、验证、准备、初始化和卸载五个阶段。 - 双亲委派模型:类加载器在加载类时,会将任务委托给父类加载器,直到Bootstrap ClassLoader。 3. **内存区域**: - 程序计数器:记录当前线程...

    JVM学习笔记

    ### JVM学习笔记知识点详解 #### 一、JVM的基本结构 **JVM(Java Virtual Machine,Java虚拟机)**是一种可以执行Java字节码的虚拟机。它为Java提供了平台无关性,使得Java代码可以在任何安装了JVM的平台上运行。 ...

    学习jvm笔记.zip

    JVM的类加载过程包括加载、验证、准备、解析和初始化五个阶段。加载是找到.class文件并读入内存;验证确保字节码的正确性,防止恶意代码;准备阶段为静态变量分配内存,并设置默认初始值;解析将符号引用转换为直接...

    ImagesForJVM-JVM笔记图片

    6. **类的生命周期**:从加载到卸载,一个类在JVM中的完整生命周期包括加载、验证、准备、解析、初始化、使用和卸载。 7. **异常处理**:JVM支持异常处理机制,通过try-catch-finally语句块来捕获和处理异常。 8. ...

    深入Java虚拟机JVM类加载学习笔记

    ### 深入Java虚拟机JVM类加载学习笔记 #### 一、Classloader机制解析 在Java虚拟机(JVM)中,类加载器(ClassLoader)是负责将类的`.class`文件加载到内存中的重要组件。理解类加载器的工作原理对于深入掌握JVM以及...

    Java分布式应用学习笔记02再谈JVM

    ### Java分布式应用学习笔记02再谈JVM 在深入探讨Java虚拟机(JVM)时,我们再次聚焦于这个核心组件,它不仅是Java运行环境的心脏,也是构建分布式应用的关键技术之一。JVM作为Java语言的核心执行环境,其设计与...

    JVM成神之路笔记整理版

    理解这些区域的用途、生命周期以及它们之间的交互关系是JVM优化的重要一环。 3. **垃圾回收机制**:Java的自动内存管理依赖于垃圾回收器,包括新生代、老年代的划分,Minor GC和Full GC的区别,以及如何调优GC参数...

    java学习笔记

    7. 静态与非静态成员:区分类变量(静态)和实例变量(非静态),以及它们的作用域和生命周期。 8. 方法:理解方法的定义、调用,参数传递,以及方法的重用。 9. String类:深入研究Java中的String类,包括字符串的...

    JVM学习笔记(一)——类的加载机制

    类的加载是类生命周期的起始阶段,它包括以下步骤: - **加载**:这是类加载的第一步,JVM会通过类加载器找到.class文件,并将其二进制数据读入内存。这些数据会被存储在方法区,这是一个用于存储已加载类元数据...

    JVM学习资料(zzm版3).rar

    《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明.pdf》这本书是Java开发者深入理解JVM(Java Virtual ...而“新建文本文档.txt”可能包含个人笔记或者临时记录,对于JVM学习的具体内容没有直接关系。

    【Java技术资料】-(机构内训资料)JVM和性能优化学习思维笔记

    【Java技术资料】-(机构内训资料)JVM和性能优化学习思维笔记是一份针对Java开发者深入理解JVM及进行性能优化的重要参考资料。这份资料可能包含了一个详细的知识地图,帮助学习者系统地掌握JVM的工作原理以及如何...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    11.1.3 线程生命周期 324 11.1.4 关于threadgroup 331 11.1.5 synchronized与volatile 334 11.1.6 等待与通知 345 11.2 并行api 349 11.2.1 lock、readwritelock与condition 349 11.2.2 使用executor ...

    虚拟机学习笔记--周志明老师第三版

    虚拟机学习笔记 Java 虚拟机(JVM)是 Java 语言的 runtime 环境,负责加载、验证、执行 Java 字节码。以下是 JVM 相关知识点的总结。 1. 运行时数据区域 JVM 的运行时数据区域主要包括: * 堆(Heap):...

Global site tag (gtag.js) - Google Analytics