如何保障有序性(零碎笔记)

如何保障有序性

硬件如何保障:
在这里插入图片描述
乱序问题
在这里插入图片描述

如何保证特定的情况下不乱序
硬件的有序性保障
X86
在这里插入图片描述
Java的汇编指令
在这里插入图片描述
JVM的如何规范

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

前三步是Class对象没有load到内存才需要进行的过程,从第四步开始是new 的过程
在这里插入图片描述
2. 对象在内存的布局
ClassPionter指针表示实例对象指向他的Class对象的地址
在这里插入图片描述
List item
对象的大小
在这里插入图片描述
在这里插入图片描述
使用:Agent:
在这里插入图片描述
object:16字节,对象头8字节,(默认压缩的)classpointer4字节,padding对齐四字节
数组:16字节,对象头8字节,(默认压缩的)classpointer4字节,数组长度四字节
classpointer不压缩是8字节

p对象:是32字节
在这里插入图片描述
我们注意他的name属性:为四字节,但是他其实是8字节的,四字节的原因是因为这个参数:-XX:+UseCompressedOops 是开启的,把普通对象引用压缩成四字节
Oops:普通对象引用
classPointer:Class对象的引用
在这里插入图片描述
3. 对象头具体包括什么

在这里插入图片描述

对象头有两位标志对象有没有被锁定,一位标志被哪个线程占有,即偏向锁,还有两位是GC位,标志被垃圾回收器回收了几次
下面的图是32位的
在这里插入图片描述
在这里插入图片描述
因为分代年龄只有四位表示

在这里插入图片描述
4. 对象怎么定位
句柄池(在垃圾回收算法中效率更高):通过一个间接指针(有两个,一个指向真正的对象,一个指向class对象)
在这里插入图片描述

(hotspot的实现,可以直接找到对象,找对象效率更高)直接指针:就是指针指向对象,然后这个对象指向了这个对象的class对象

  1. 对象怎么分配(GC相关)
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值