准备:
在准备阶段,虚拟机为类变量分配内存,设置默认初始值;
解析:
解析过程就是在类型的常量池中寻找类、接口、字段、方法的符号引用,把这些符号引用替换成直接饮用的过程;
初始化:
为类变量赋予正确的初始值,一个正确的初始值是通过类变量初始化语句或者静态初始化语句给出的;
所有的类变量初始化语句和类型的静态初始化器都被java虚拟机收集在一起,放到被称为<clinit>的方法中,此方法只能被虚拟机调用;
如果没有声明类变量也没有静态初始化语句,就不会有<clinit>()方法;
如果类仅包含静态final变量的类变量初始化语句,而且这些类变量初始化语句采用编译时常量表达式,类也不会有clinit>()方法;
初始化接口并不需要初始化父接口;
虚拟机在首次主动使用类型时初始化他们,有6种活动被认为是主动使用:
1、创建类的新实例;
2、调用类中声明的静态方法;
3、操作类或者接口中声明的非常量静态字段;
4、调用API中特定的反射方法;
5、初始化一个类的子类;
6、制定一个类作为虚拟机启动使得初始化类;
分享到:
相关推荐
第1章 :简单地介绍了Java虚拟机的历史并吹捧了←_← 一下Java的平台无关性(一次编译,到处运行); 第2章:概览Java虚拟机整体架构; 第3章:介绍如何将Java语言编写的程序转换为虚拟机指令集; 第4章:定义...
深入 Java 虚拟机.pdf Java 虚拟机(Java Virtual Machine,JVM)是 Java 语言的 runtime 环境,是 Java 程序执行的核心组件。它提供了一个平台无关的环境,允许 Java 程序在不同的操作系统和硬件平台上运行。 一...
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和...
读书笔记:java 虚拟机,深入理解Java虚拟机 JVM高级特性与最佳实践
**Android虚拟机ART详解** Android运行环境的核心组成部分之一就是虚拟机,从早期的Dalvik到现在的Android RunTime(ART),这一进化过程极大地提升了Android应用的性能和效率。本文将深入探讨ART的工作原理、优势...
技术部研发团队技术干货分享:Java虚拟机.
资源名称:Scala程序设计:Java虚拟机多核编程实战资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
### Java虚拟机分析与优化关键知识点 #### 一、Java虚拟机基础知识 1. **Java虚拟机(JVM)概述** - Java是一种面向对象的编程语言,具有“一次编写,到处运行”的特点。 - Java代码通过编译器转换为字节码,由...
读书笔记:Java虚拟机从入门到精通
Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础...
### 深入理解Android(二):Java虚拟机Dalvik #### 一、背景与研究目的 在深入了解Dalvik虚拟机之前,我们先来探讨一下背景与研究目的。随着移动设备性能的不断提高,Android系统因其开放性而吸引了众多开发者...
2. 字节码验证:Java虚拟机对字节码进行验证,检查其是否符合Java虚拟机的规范。 3. 字节码执行:Java虚拟机执行字节码,通过解释或编译来执行字节码指令。 4.垃圾回收:Java虚拟机的垃圾回收机制可以自动回收不再...
读书笔记:java虚拟机详解jvm从入门到精通
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和...
标题:Java虚拟机的分析与研究.pdf 描述:该文件是一篇关于Java虚拟机分析与研究的论文,文章编号为5828,中图分类号为TP3:17,文献标识码为B。论文详细讨论了Java虚拟机技术,包括虚拟机的定义、功能、重要性以及在...
java虚拟机OutOfMemoryError:Java heap space堆dump文件,可以直接用来分析。
《Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和...
1. Java虚拟机的裁减和安装:Java虚拟机需要裁减和安装到ARM平台上,以满足嵌入式设备的资源限制。 2. Java核心类库的裁减和安装:Java核心类库需要裁减和安装到ARM平台上,以满足嵌入式设备的资源限制。 3. Java...
第二章:java虚拟结构(运行时区域内存:寄存器,java虚拟机栈,java堆,方法去,运行时常量池,本地方法栈); 第三章:为java虚拟机编译; 第四章:Class文件格式; 第五章:加载、链接与初始化
1. **Java虚拟机概述**:Java虚拟机是Java平台的核心组件,它负责解析和执行Java字节码,为程序提供了一个跨平台的运行环境。理解JVM的工作原理有助于优化代码并解决各种运行时问题。 2. **内存模型**:书中详细...