编程知识 cdmana.com

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

版权声明
本文为[入门小站]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4232146/blog/4839530

Scroll to Top