自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发--共享模型管程

正常状态对象一开始是没有 hashCode 的,第一次调用才生成,调用了 hashCode() 后会撤销该对象的偏向锁,调用了对象的 hashCode,但偏向锁的对象 MarkWord 中存储的是线程 id,如果调用 hashCode 会导致偏向锁被撤销,轻量级锁会在锁记录中记录 hashCode,重量级锁会在 Monitor 中记录 hashCode。Thread0解锁时,由于mark word中记录的时Monitor的地址,而非锁记录的地址,因此解锁时,进入重量级解锁的流程.

2023-11-26 21:15:06 885 1

原创 Java并发概述

单线程:类加载,字节码放入方法区,启动main主线程,为main线程分配栈内存,cpu核心运行主线程代码,为主方法提供栈帧内存,栈帧内存存放局部变量,返回地址等。线程cpu时间片用完,垃圾回收,有更高优先级的线程,线程自己调用了sleep,yield,wait,lock等,上下文切换时,通过线程各自的程序计数器记住下一条指令的执行地址,便于恢复。Runnable可运行状态,就绪状态,线程已被常见,可接受调度,但未被分配时间片,running,运行状态,获取了时间片。并行:同一时刻,多核,parallel。

2023-10-20 16:07:19 20 1

原创 HashMap基础

阈值=负载因子*容量,负载因子默认为0.75,原因是根据HashMap的扩容机制,容量的值永远都是2的幂,0.75和任何2的次幂乘积结果都是整数。树节点的大小大约是普通节点的两倍,理想情况下,在随机哈希码下,节点的频率服从泊松分布,若键值对size>数组长度*loadfactor(0.75),数组扩容。扩容,重新进行hash 分配,并且会遍历 hash 表中所有的元素,将 table 初始化和 table 扩容整合,给 table 赋值一个新的数组。若不指定,默认16,扩容后变为原来2倍;

2023-10-20 16:05:33 20 1

空空如也

空空如也

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

TA关注的人

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