自定义博客皮肤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)
  • 收藏
  • 关注

原创 redis详解小记

String是最简单的数据类型,一般用于复杂的计数功能的缓存:微博数,粉丝数等。底层实现方式:动态字符串sds 或者 long。String的内部存储结构一般是sds(Simple Dynamic String),但是如果一个String类型的value的值是数字,那么Redis内部会把它转成long类型来存储,从而减少内存的使用。使用场景:缓存对象、常规计数、分布式锁、共享 session 信息等。

2023-08-21 11:19:47 64 1

原创 volatile特性简述

volatile通过“内存屏障”防止指令重排序,编译器生成字节码时,会在指令序列前后插入内存屏障来禁止特定序列的解释器重排序。下面是基于保守策略的JMM内存屏障插入策略: 在每个volatile写操作的前面插入一个StoreStore屏障。 在每个volatile写操作的后面插入一个StoreLoad屏障。 在每个volatile读操作的后面插入一个LoadLoad屏障。 在每个volatile读操作的后面插入一个LoadStore屏障。 ——保证有序性 通过lock前缀(汇编指令上可相当于

2023-07-26 14:31:35 28 1

原创 HashMap、ConcurrentHashMap要点记一下

HashMap(jdk1.7)——线程不安全 数据结构结合了数组和链表的特点,默认为size为16的entry[],当发生hash冲突时,在对应entry下形成链表结构。 几个属性:默认初始化容量为16,负载因子为0.75(即容量为12=16*0.75会自动扩容),添加数据时先扩容后添加。 添加数据的时候,采用头插法进行添加(方便查询,链表查询时会先二分,之后分别进行遍历,越靠前越容易查询)。并发情况下,会产生链表死循环。 当第一次添加的时候,进行空间分配数组填充 扩容时,hash重新计算

2023-07-26 14:10:45 35 2

空空如也

空空如也

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

TA关注的人

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