今天开始学习JVM
先看看运行时数据区的结构:
程序计数器:当前线程所执行的字节码的行号指示器。(线程私有)
java虚拟机栈:java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用语存储局部变量表、操作数栈、动态链表、方法出入口等信息。每个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机中从入栈到出栈的过程。
本地方法栈:为虚拟机使用到的Native方法服务,功能与java虚拟器栈相同,对于Sun HotSpot虚拟机,直接把本地方法栈和虚拟机栈合二为一。
java堆:被所有线程共享,在虚拟器启动时创建,用来存放对象实例。
方法区:用于存储被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
运行时常量池:是方法区的一部分,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中。
下面举例说明类加载时所涉及的区域:
Object obj = new Object();
Object obj 这部分语义将会反映到Java栈的本地变量表中,而new Object()这部分的语义将反映到Java堆中,另外,在Java堆中还必须包含能查找到此对象类型数据的地址信息,这些类型数据则存储在方法区中。
- 大小: 22.8 KB
分享到:
相关推荐
Java8 Jdk JVM学习笔记、jdk1.8、...主要内容为 JVM 内存与垃圾回收、类加载子系统、运行时数据区、本地方法等。适合开发1-3年想对JVM学习的同学。 在之后的开发中,更加详细的了解JVM,可以进行JVM问题排查。
JVM的主要组成部分包括类加载器子系统、执行引擎子系统、运行时数据区域组件和本地接口组件。 ##### 2.2 Sun JVM Sun Microsystems 开发的JVM是最常见的JVM实现之一。它支持Java标准版(Java SE)、企业版(Java EE...
1. **运行时数据区**: - **程序计数器**:记录当前线程执行的字节码的行号,用于线程恢复执行时跳转到正确位置。 - **Java虚拟机栈**:每个方法执行时创建的栈帧,存储局部变量、操作数栈、动态链接和方法出口等...
本资料集合包含了多个关于JVM学习的重要主题,旨在帮助读者从基础到深入地掌握JVM的工作原理和优化技巧。 1. **JVM运行机制** (2.JVM运行机制.pptx) JVM的运行机制包括类加载、字节码执行、内存管理等关键过程。类...
1. **并发标记阶段**:G1使用并发标记清除算法,能在应用线程运行的同时进行垃圾收集,减少停顿时间。 2. ** Region划分**:通过Region划分,使得GC可以更灵活地进行局部或全局的垃圾回收。 3. **暂停预测**:G1能够...
JVM的学习可以从其基本结构、代码编译和执行过程,以及内存管理和垃圾回收机制三个方面进行深入探讨。 首先,JVM的基本结构分为逻辑结构和物理结构。逻辑结构主要包括Java源码编译器、JVM执行引擎、类加载器等组件...
2. 运行时数据区:包括堆、方法区、程序计数器、虚拟机栈和本地方法栈。堆存储对象实例,方法区存放类信息,程序计数器记录当前线程执行的指令地址,虚拟机栈保存每个方法的局部变量、操作数栈等,本地方法栈为JNI...
### JVM 运行时数据区域、垃圾回收机制与类加载机制详解 #### 一、运行时数据区域 Java虚拟机(JVM)的核心组件之一便是其运行时数据区域,这一区域负责存储程序运行过程中产生的各种数据。为了更好地理解这部分内容...
2. 运行时数据区:JVM将内存分为不同的区域,如方法区(存储类信息)、堆(存放对象实例)、栈(存储方法调用)、程序计数器(记录下一条要执行的指令地址)和本地方法栈(服务本地方法,如JNI调用)。 3. 执行引擎...
4. **运行时数据区**:JVM规范定义了程序计数器、虚拟机栈、本地方法栈、堆和方法区这五个主要的运行时数据区。每个线程都有自己的程序计数器、虚拟机栈和本地方法栈,而堆和方法区则是所有线程共享的。 5. **字节...
Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。本文将深入探讨JVM的工作原理,包括内存管理、类加载机制、垃圾回收以及性能优化等方面。 首先,我们来理解JVM的内存结构...
1. **JVM架构**:JVM主要由类装载器、运行时数据区、执行引擎、本地方法接口和本地库组成。了解每个部分的功能对于优化程序性能至关重要。 2. **类装载机制**:包括加载、验证、准备、解析和初始化五个阶段,确保类...
在JVM内部,程序的运行依赖于一系列的运行时数据区,这些区域各自负责存储不同的数据和执行状态。本文将深入探讨JVM的运行时数据区,以帮助读者理解Java程序在运行过程中的内存管理机制。 首先,我们要明确的是,...
部分章节如下,内容在附件里面大家随意下载,欢迎...3、运行时数据区 4、本地库接口 2.3、JVM内存参数调整及监控 1、JVM之内存调整 2、JVM监控工具之Jconsole 3、JVM监控工具之JProfile 加群:113035529 共同交流学习
Java虚拟机(JVM)是Java程序的核心组成部分,它提供了跨平台的运行环境,使得Java程序可以在任何安装了JVM的系统上执行。JVM内存结构是理解Java性能优化和内存管理的关键。 JVM内存主要分为五个部分: 1. **程序...
JVM 学习,包含运行数据区域,GC,JMM 等常见问题
Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。在深入探讨JVM之前,我们先要理解Java编程语言的特点:跨平台性,这得益于“一次编写,到处运行”的理念。JVM在不同操作...
运行时数据区是Java虚拟机(JVM)内存模型的核心组成部分,主要负责存储程序在执行过程中需要用到的各种数据。本文将详细解析"7 运行时数据区之方法区"这一主题,结合相关代码和图像,深入理解Java后端开发中的重要...