JVM与计算机之间的关系

计算机内存硬件架构

image-20201224230943962

CPU,一台现代计算机拥有两个或多个CPU,其中一些CPU还有多核,从这一点能够看出,在一个有两个或多个CPU的现代计算机上,同时运行多个线程是很是有可能的,并且每一个CPU在某一个时刻,运行一个线程是确定没有问题的,这意味着,若是Java程序是多线程的,在Java程序中,每一个CPU上一个线程是可能同时并发执行的。
CPU Refisters(寄存器),每一个CPU都包含一系列的寄存器,它们是CPU内存的基础,CPU在寄存器中执行操做的速度远大于在主存上执行的速度,这是由于CPU访问寄存器的速度远大于主存。

Cache(高速缓存),因为计算机的存储设备与处理器运算速度之间有着几个数量级的差距,因此现代计算机系统都不得不加入一层读写速度尽量接近处理器运算速度的高级缓存来做为内存与处理器之间的缓冲,将运算须要使用到的数据复制到缓存中,让运算能快速的进行,当运算结束后,在从缓存同步到内存中。这样处理器就无需等待缓慢的内存读写,CPU访问缓存层的速度快于访问主存的速度,但一般比访问内部寄存器的速度要慢。缓存

 Main Memory(主存),随机存取存储器(random access memory,RAM)又称做“随机存储器",一个计算机包含一个主存,全部的CPU均可以访问主存,主存一般比CPU中的缓存大得多。

JVM和计算机之间的关系

image-20201224231350330

img

JVM 与 Computer 内存架构存在差别,硬件内存并没有区分栈与堆,对于硬件而言,全部的栈和堆都分布在主内存中,可能会出如今高速缓存、寄存器中。

内存模型抽象结构

image-20201224231510947

相关文章
相关标签/搜索