2021年4月4日
摘要: 一、堆的核心概述 1、堆(Heap)的核心概述:堆的唯一性 (1)一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 (2)Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间。 ① 堆内存的大小是可以调节的。 (3)《Java虚拟机规范》规定 阅读全文
posted @ 2021-04-04 16:39 格物致知_Tony 阅读(183) 评论(0) 推荐(0)
摘要: 一、本地方法栈(Native Method Stack) (1)Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用; (2)本地方法栈,也是线程私有的。 (3)允许被实现成固定或者是可动态扩展的内存大小。(在内存溢出方面是相同的) ① 如果线程请求分配的栈容量超过本地方法 阅读全文
posted @ 2021-04-04 16:19 格物致知_Tony 阅读(125) 评论(0) 推荐(0)
摘要: 一、本地方法 简单地讲,一个 Native Method 就是一个 Java 调用非 Java 代码的接口。一个 Native Method 是这样一个Java方法;该方法的实现由非 Java 语言实现,比如 C。这个特征并非 Java 所特有,很多其它的编程语言都有这一机制,比如在 C++中,你可 阅读全文
posted @ 2021-04-04 16:18 格物致知_Tony 阅读(128) 评论(0) 推荐(0)
摘要: 一、虚拟机栈概述 1、虚拟机出现的背景 由于跨平台性的设计,Java 的指令都是根据栈来设计的。不同平台 CPU 架构不同,所以不能设计为寄存器的。 栈式架构的JVM: 优点是:跨平台,指令集小,编译器容易实现; 缺点是:性能下降,实现同样的功能需要更多的指令; 2、初步印象 有不少 Java 开发 阅读全文
posted @ 2021-04-04 16:16 格物致知_Tony 阅读(235) 评论(0) 推荐(1)
摘要: 一、PC Register介绍 1、官方文档说明 官方地址:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.5.1 2、PC Register概述 JVM 中的程序计数器(Program Counter Re 阅读全文
posted @ 2021-04-04 16:14 格物致知_Tony 阅读(1844) 评论(1) 推荐(1)
摘要: 一、概述 1、整体流程 2、运行时数据区 内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的事实运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在这部分 阅读全文
posted @ 2021-04-04 16:12 格物致知_Tony 阅读(114) 评论(0) 推荐(1)
摘要: 一、内存结构概述 1、简图 2、详细图-EN 3、详细图-ZH 4、如果自动实现一个虚拟机需要什么结构呢? ① 类加载子系统; ② 执行引擎; 二、类加载器与类的加载过程 1、类加载子系统作用 类加载器子系统负责从文件系统或者网络中加载 Class 文件,class 文件在文件开头有特定的文件标识; 阅读全文
posted @ 2021-04-04 16:10 格物致知_Tony 阅读(145) 评论(0) 推荐(1)