存储器层次结构
cache在电脑的什么位置?
在CPU
L1,L2是每个核独有的
L3是所有CPU核共享的
超线程
一个CPU一个时间片时间内只能运行一个线程
如果可以一个CPU有两组(寄存器+PC),只是ALU切换,那么可以比一组寄存器+PC进行现场恢复这种方式运算要快
叫做超线程
缓存一致性协议
Intel的缓存一致性协议是MESI
其他的可能用的是其他的缓存协议
缓存一致是通过缓存锁实现的
volatile的可见性
在intel芯片上:MESI
或者可以用总线锁
实质上 是一个 lock指令 加一个空操作
对象的创建过程
class T{
int m = 8;
}
T t = new T();
汇编代码
new #2 <T>
dup
invokerspecial #3 <T.<init>>
astore_1
return
- new
new一个对象一定是在堆内存里分配一块空间
刚new完的时候,m的值是默认值0
- invokerspecial
调用完构造方法之后,m才会赋值初始值8
- astore_1
把对象的地址赋值给t