synchronized-spark

java中的锁:读锁、写锁、共享锁、互斥锁。
java对象分配内存不固定(不然怎么会有内存溢出),64位虚拟机,最小单位是8个字节的倍数,对象实际没有,jvm就会
自己补空到8的倍数.对象内存结构:对象头、实例数据、对齐填充位(可能没有)。
64位jvm中是12个字节,96位   8位1个字节
com.hbdtld.A object internals:
 OFFSET  SIZE      TYPE DESCRIPTION                               VALUE
      0    12           (object header)                           N/A
     12     1   boolean A.aaa                                     N/A
     13     3           (loss due to the next object alignment)
    
对象头:mark World、对象的HashCode、Epoch、ThreadId、age(gc状态,默认15次复制算法,为什么会15,因为这个age大小是4位,最大能表示0~2的4次方-1,所以是15次)、偏向状态0或1、锁状态标志01、
MetaData元数据指针、数组长度(数组对象才有)

org.openjdk.jol这个包可以查看源码   openjdk8-master
    
hotspot :产品,实现了jvm,sun公司开发的
jvm :规范/标准  (c2 compiler这个处理器是核心)
市面上的虚拟机有:hospot、j9、taobaojvm等待。

对象状态五种:
1、无状态new出来的时候
2、偏向锁
3、轻量锁
4、重量锁
5、gc标记了

mark word根据对象状态时刻变化的。
对象的hashcode:在未执行c++本地方法的hashCode()方法之前是没有储存的     大端存储和小端存储(大部分pc都是这样的),数值存储相反

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值