摘要: 由于跨平台性设计,Java的指令都是根据栈来设计的。不同CPU架构不同,所以不能基于寄存器的。栈的优点就是跨平台、指令集小,编译器容易实现;缺点是性能下降,实现同样的功能需要更多的指令。 Java虚拟机栈(Java Virtual Machine Stack)早期叫Java栈,每个线程创建时都会创建 阅读全文
posted @ 2020-09-03 19:21 Eleanor123 阅读(166) 评论(0) 推荐(1) 编辑
摘要: 栈是运行时的单位,堆是存储的单位。栈解决程序的运行问题,即程序如何执行,如何处理数据;堆解决的是数据存储的问题,即数据怎么放,放到哪里。 阅读全文
posted @ 2020-09-03 18:50 Eleanor123 阅读(122) 评论(0) 推荐(1) 编辑
摘要: CPU时间片即CPU分配给多个程序的时间,每个线程被分配一个时间段,称作它的时间片。宏观上,我们可以同时打开多个应用程序,每个程序并行不悖,同时运行;微观上,由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一种方法就是引入时间片,每个程序轮流执行。 阅读全文
posted @ 2020-09-03 18:35 Eleanor123 阅读(894) 评论(0) 推荐(0) 编辑
摘要: JVM的PC寄存器是对物理PC寄存器的一种抽象模拟,JVM中的程序计数寄存器(program counter register),register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息,CPU只有把数据装载到寄存器才能运行。 PC寄存器用来存储指向下一条指令的地址,即将要执行的命令。 阅读全文
posted @ 2020-09-03 10:32 Eleanor123 阅读(263) 评论(0) 推荐(0) 编辑