存储器层次结构
image.png
cache在电脑的什么位置?
image.png
在CPU
L1,L2是每个核独有的
L3是所有CPU核共享的

超线程

image.png
一个CPU一个时间片时间内只能运行一个线程
如果可以一个CPU有两组(寄存器+PC),只是ALU切换,那么可以比一组寄存器+PC进行现场恢复这种方式运算要快

叫做超线程

缓存一致性协议

Intel的缓存一致性协议是MESI
其他的可能用的是其他的缓存协议
缓存一致是通过缓存锁实现的

volatile的可见性

在intel芯片上:MESI
或者可以用总线锁

实质上 是一个 lock指令 加一个空操作

对象的创建过程

  1. class T{
  2. int m = 8;
  3. }
  4. T t = new T();

汇编代码

  1. new #2 <T>
  2. dup
  3. invokerspecial #3 <T.<init>>
  4. astore_1
  5. return
  • new

new一个对象一定是在堆内存里分配一块空间
刚new完的时候,m的值是默认值0

  • invokerspecial

调用完构造方法之后,m才会赋值初始值8

  • astore_1

把对象的地址赋值给t

volatile禁止指令重排序是在JVM的层级

HTTP协议