自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 sycronized 的底层原理

当synchronized关键字用在代码块时,会先获取monitorz标记,只有获取monitorz关键字时,才可以对代码块中的对象进行操作,若该monitorz被其他线程持有时,会阻塞要获取该代码块的monitorz的所有线程,当该线程执行完毕代码块时,计数器变成零,才有机会获取该monitorz。而monitorz存在于对象头中,对象分为对象头,实例数据,和对其填充,对象头又分为monitor、类型指针和数组大小(只有数组才会有,因为jvm会根据元数据获取对象大小,而数据不行,所以要额外标记。

2023-07-15 17:16:17 675 1

原创 1th week :

三:hashmap是基于数组和链表/红黑树来实现的,在发生map执行put操作时,会针对key执行hash.code()方法,计算出hash值,并向右位移十六位,得出一个新的二级制,针对新的二进制和旧的二级制进行异或运算,得出在数组中的位置,如果发生hash冲突,即在那个位置上有相应的值,首先遍历链表/红黑树,若key一样代替,斌返回旧的value值,若不一样,原来的链表中的节点next指针指向他。2.共享代码的实现:比如在一个游戏中,玩家的生命,属性,以及装备这些都可以在不同的角色中复用。

2023-07-14 15:53:54 76 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除