JVM 学习笔记
文章平均质量分 95
瑾年丶深蓝
这个作者很懒,什么都没留下…
展开
-
JVM学习第八节 对象的实例化、内存布局与访问定位
Java 对象的实例化、内存布局与访问定位原创 2022-08-28 09:17:26 · 353 阅读 · 0 评论 -
JVM学习第七节 方法区
方法区概述运行时数据区结构图以线程是否共享的角度分析栈、堆、方法区的交互关系方法区的理解概述运行时数据区结构图 以线程是否共享的角度分析 啊栈、堆、方法区的交互关系 方法区的理解 《Java虚拟机规范》说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但是对于HotSpot JVM而言,方法区还有一个别名(Non-heap)非堆,目的就是要和堆分开。所以方法区看作是一块独立于Java堆的内存空间。原创 2022-08-26 11:28:05 · 255 阅读 · 0 评论 -
JVM学习第六节 堆 Heap
堆 Heap堆 (Heap)概述基本概念内存细分三级目录堆 (Heap)概述基本概念 1、一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 2、Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。堆内存大小是可调节的。 3、Java虚拟机规范中规定,堆可以处于物理上不连续的内存空间中,但是在逻辑上它应该被视为连续的。 4、所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local All原创 2022-07-18 14:18:18 · 416 阅读 · 0 评论 -
JVM学习第四节 虚拟机栈
虚拟机栈虚拟机栈概述栈的存储单位局部变量表操作数栈代码追踪栈顶缓存技术动态链接方法的调用 :解析与分派方法返回地址一些附加信息虚拟机栈概述虚拟机栈出现的背景 由于跨平台性的设计,Java的指令都是基于栈设计的,不同平台的CPU架构不同,所以无法基于寄存器设计。基于栈的指令集优缺点 优点是可移植性(跨平台)更好、栈指令集的代码更加紧凑(字节码中每个字节就对应一条指令,但是多地址指令集中还需要存放参数)指令集小、编译器实现比较简单(不需要考虑空间分配的问题,所需空间都在栈上操作)。原创 2022-03-21 11:21:40 · 1447 阅读 · 1 评论 -
JVM 学习第三节 运行时数据区概述与PC寄存器
运行时数据区概述及线程运行时数据区简图运行时数据区 内存的概念 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行,JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略、保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异,结合JVM虚拟机规范,探讨一下经典的JVM内存布局(针对 HotSpot VM)。简图 Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机原创 2022-02-17 14:11:28 · 346 阅读 · 0 评论 -
JVM学习第二节类加载器子系统
类加载器子系统内存结构概述简图比较详细的内存结构图类的加载器与泪的加载过程概述内存结构概述简图比较详细的内存结构图类的加载器与泪的加载过程概述 类加载器子系统负责从文件或者网络中加载class文件,class文件在文件开头有特定的文件标识。 ClassLoader只负责class文件的加载,至于它是否可以运行,则有Execution Engine决定。 加载的类信息存放于一块称为方法区的内存文件,除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量原创 2022-02-08 14:56:06 · 413 阅读 · 0 评论 -
JVM学习第一节 JVM与Java体系结构
JVM与Java体系结构虚拟机与Java虚拟机介绍虚拟机Java虚拟机JVM的位置虚拟机与Java虚拟机介绍虚拟机虚拟机(Virtual Machine) 就是虚拟的计算机,本质是软件,用来执行一系列虚拟计算机指令。大体上虚拟计算机可以分为系统虚拟机和程序虚拟机。Virtual Box,VMware就属于系统虚拟机,它们完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台。程序虚拟机的典型代表就是Java虚拟机,它专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称为J原创 2021-12-02 16:30:06 · 390 阅读 · 0 评论