摘要: 本文结构 虚拟机栈概述 虚拟机出现的背景 由于跨平台性的设计,Java的指令都是根据栈来设计的,不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。 栈的存储单位 * 每个线程都有自己的栈,栈中的数据都是以栈帧( 阅读全文
posted @ 2020-08-27 18:14 窗含西岭 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 虚拟机内存结构简图 PC寄存器作用 PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码,由执行引擎读取下一条指令。 简介 它是一块很小的内存空间,几乎可以忽略不计。也是运行速度最快的存储区域。 在JVM规范中,每个线程都有它自己的程序计数器,是线程私有的,声明周期与线程的声明周期保持一致 阅读全文
posted @ 2020-08-27 18:12 窗含西岭 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 类加载系统总体架构 ​​​​​​​​​​ 类加载系统经过三个阶段非别为:加载(此处的加载为狭义上的加载)、链接、初始化三步。其中链接又分为:验证、解析、准备阶段。 加载 通过一个类的全限定名获取定义此类的二进制字节流。 将这个字节流中静态的存储结构转换为方法区运行时数据结构。 在内存中生成一个代表这 阅读全文
posted @ 2020-08-25 16:39 窗含西岭 阅读(86) 评论(0) 推荐(0) 编辑