1
sagaxu 2019-10-14 01:50:27 +08:00 via Android 1
read 是从内存读取到当前线程 CPU 的 cache
|
2
vikeria OP @sagaxu 那就相当于是这个是 jvm 针对不同的操作系统 /硬件的实现了?没有那种存在于 JVM 逻辑结构中的可以描述的方式?
|
3
sagaxu 2019-10-14 14:42:36 +08:00 via Android
@vikeria jvm 定义的抽象 vm,不对应任何处理器架构。jmm 的原子操作,不能定义的太细,太细了在某些平台无法实现,太粗了在某些平台要大量加锁严重降低性能。
|
4
anofac 2019-10-14 14:50:30 +08:00 1
mark,下面是我个人猜想的,还没找到权威的资料,仅做讨论哈,期待此帖出现一个大神~
read 是从堆读出数据(一份拷贝),但还没写入线程工作内存(对应硬件上,应该在某级缓存中?) load 是将这份数据的拷贝写入了局部变量表中 use 是将这份数据在需要执行的时候从局部变量表又传递到操作数栈中 |
6
Aresxue 2019-10-14 15:23:15 +08:00 1
应该取决于 jvm 实现,Dalvik VM 都不是基于栈的指令集,栈帧和物理机构的对应也不是统一的。
|