自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一文看懂HashMap的实现原理。

数组内的元素保存了 key 和 value。当要塞入一个键值对的时候,会根据一个 hash 算法计算 key 的hash 值,然后通过数组大小 n-1&hash 值之后,得到一个数组的下标,然后往那个位置塞入这键值对。当链表的长度大于8 且数组大小大于等于 64 的时候,就把链表转化成红黑树,当红黑树节点小于 6的时候,又会退化成链表。HashMap 基于哈希表的数据结构实现,允许存储键值对,并且通过键快速访问对应的值。在 JDK1.7 及之前链表的插入采用的是头插法,即在链表的头部插入新的键值对。

2024-09-01 19:36:19 629

原创 Redis跟DB的数据一致性问题?

首先redis它本身就是ap模型,它本身就有数据丢失的情况(持久化、主从切换)、根本无法保证数据的强一致性。所以用redis做缓存,业务必须能够去接收一定的数据一致性问题,不适合强一致性的场景。解决这个数据一致性问题,只需要给redis加过期时间,设置5min 最多只有5min不一致,来保证最终一致性即可。Redis和数据库(DB)的数据一致性问题是指在使用Redis作为缓存层时,由于数据更新的异步性,可能会出现Redis中的数据与数据库中的数据不一致的情况。这种情况可能导致用户看到的数据不准确。

2024-08-30 16:27:08 414

原创 什么是JVM?

JVM指的是Java虚拟机(Java Virtual Machine)。JVM本质上是一个运行在计算机上的程序,它的职责是运行Java字节码文件,Java虚拟机上可以运行Java、Kotlin、Scala、Groovy等语言。

2024-08-26 20:34:26 234 1

原创 MySQL索引底层结构为什么用B+Tree?

共同特性:小的索引在左边,大的索引在右边。区别:B树每一个节点都存储了索引和数据。而 B+树它把所有的数据都放在了最下面的叶子节点,而非叶子节点只存储索引。这样就可以留出更多的空间,去存储更多的索引,从而可以组织一颗更宽的一颗 B+树,树更宽的话,是不是进行 i/o 的数据检索次数就更少了,进而查询效率就更快。第二点区别: B+树它通过双向链表去连接了每一个叶子节点,那么这样的话就会让他的范围查询的性能就会更好。

2024-08-26 11:13:06 1479 1

空空如也

空空如也

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

TA关注的人

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