自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis 执行命令流程以及repl backlog 复制挤压缓冲区源码

1 首先通过eventloo死循环配合I/O多路复用监听有网络事件的socket 2 通过I/O多路复用拿到socket的fd后,调用对应的回调函数readQueryFromClient 3 通过read函数读取内容到querybuf (默认为1GB) 4 如果当前client是master则将querybuf的内容拷贝到pending_qurybuf(这个是主从同步的replication buffer,redis将会吧pending_qurybuf里面的内容同步给salve) 5 根据redis的res

2022-04-09 12:37:12 1038

原创 Redis总结

Redis数据结构总结 以前一直用Redis一直对他的底层数据结构不是和很理解,今天来做一个总结 当作自己学习的记录 部分内容来自 三太子敖丙 Java3y的公众号 redis底层数据结构 1 redis对象 在redis中每一个redis的对象 都有一个redisobject这种数据结构保存,记录了当前redis采用的是什么数据结构(例如string),采用的什么编码(不同情况下有不同的数据结构,即使是同一种类型) 和执行底层数据结构的指针。 2 SDS动态字符串 struct sdshdr{

2020-08-19 14:40:37 117

原创 操作系统之进程通信

最近面试被问到进程之间通信,虽然知道有两种,但是其实不是很明白其中原理,经过自己的查阅今天就来记录一些 一下内容 大部分来自 公众号 小林coding 这个人讲的很不错 大家可以去看下 然后我就自己总结一下 进程通信方式 管道 每个进程的用户地址空间都是独立的,一般而言是不能互相访问的,但内核空间是每个进程都共享的,所以进程之间要通信必须通过内核。 其实,所谓的管道,就是内核里面的一串缓存。从管道的一段写入的数据,实际上是缓存在内核中的,另一端读取,也就是从内核中读取这段数据。另外,管道传输的数据是无格式

2020-08-07 21:47:02 337

原创 mybatis整合spring的整合代码源码(第一次体会到读源码的作用)

写一下mybati是如何整合spring的关键代码 这是在b站看一个大佬分析源码后相当于对看后的一个总结,以前总搞不懂读spring源码有什么,以前就以为是单纯的学习他的设计模式,设计思想当然这些也很重要,但是对于现在的我来说。看了总是忘记,但是今天看了哪个大佬讲以后发现 看了spring源码以后我们必须得从设计者的角度取思考当初为什么这么设计,以及当前spring的源码对于我有什么用,哪些其他框架用了这些spring的留下的特性。像mybatis整合spring 如果mybatis开发人员没有对于spri

2020-05-27 23:21:35 146

原创 常用排序算法总结,原理,java代码实现

常用排序算法 思路以及实现 今天在左leetcdoe 的时候 突然做到了一个链表的快排,虽然知道思想,可是代码没有 写出来。于是在这里相等于从头复习一下排序算法。巩固一下。 1 冒泡排序 首先讲一下冒泡的思路,冒泡就和他的名字一样,从头开始如果 左边一个比右边一个大就交换 这样最后一个就是最大了然后下次不算从0 到 数组长度-i (i是 0 到 数组长度-1) 重复执行这个算法. 代码: public void maopaoSort(int arr[]){ if (arr.leng

2020-05-25 23:37:18 119

原创 ConcurrentHashMap 源码分析 主要涉及多线程扩容和容量增加以及帮助扩容

ConcurrentHashMap 源码分析 主要涉及多线程扩容和容量增加以及帮助扩容 准大四生为了秋招,刚好也方便复习写一写,希望各位大佬或者面试官看到了能指出不对地方 本文依然从最常用的put方法入手,我也看到很多博客的put方法的讲解,我就先简单讲一些大家都讲的东西,然后再讲一些不是每个人都讲的,例如 ** addCount(1L, binCount);*方法和树插入还有helpTransfer等等。 jdk版本1.8 由于没用过1.7也没看过。只是再网上看过一些博客 就不讲1.7了 先来说一下总体

2020-05-10 23:33:05 670

原创 HashMap的插入源码分析,主要讲树化过程

作为一名大三下的学生,春招找实习的过程基本结束,现在写一写自己看过的一些源码为秋招做准备吧 以前分析都是JDK1.8 看过很多别人的hashmap的分析 好像都只是一些重复又重复的的东西,现在就对自己的理解做一些描述吧 hashmap 默认初始容量为16 容量必须为2的幂次方,采用拉链法解决hash冲突,扩容为原来2倍,当链表长度大于8,且桶的长度大于64就转换为红黑树,否则就扩容 ;想必这些东...

2020-05-06 20:53:09 287

空空如也

空空如也

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

TA关注的人

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