自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis的基本数据类型

redis有5中数据结构,分别是String,List,Hash,Set,Zset。都是使用key-value的形式进行存储。数据类型的不同在使用中就体现在value的数据格式不同。

2024-08-05 16:57:08 392

原创 zset的实现原理

redis的zset

2024-08-01 17:20:11 286

原创 kafka的文件存储

partition是一个物理概念,每个partition都会对应一个.log文件,该.log文件就是生产者所生产的消息。如果生产者向某一个partition一直发送消息,该partition所对应的.log文件就会一直在末尾追加,为了防止.log文件过大而导致定位效率低下kafka的log文件的分界值为1G。同时,为了快速的检阅大文件中的消息位置,kafka运用了分片和索引的机制进行定位。.index文件存储消息offset+真实的起始偏移量,.log文件存储的是真实的数据。

2024-07-31 15:36:51 227

原创 代码写错分支怎么办

1.使用git stash。

2023-11-03 15:28:36 160

原创 jvm的垃圾回收算法

在一个对象被创建的时候系统会给这个对象初始化一个计数器,当该对象被引用到的时候就+1,反之则-1。这种算法是比较好用的,效率较高,但是当出现循环以来的时候该算法就出现了短板。出现循环依赖的两个对象的计数器都不会变为0就代表他们不会被清除。根搜索算法,从根对象(gc root)出发,一步一步遍历找到引用的对象,然后从引用的对象在继续往下找,从而形成一个引用链。而不在引用链上的对象就是不可达对象,就是我们说的垃圾,他们会被回收掉。gc root不是一组对象,通常情况下它是一组特殊管理的指针。

2023-08-22 15:42:18 117

原创 ThreadLocal是什么

通常情况下,我们创建的一个变量会被任意一个线程进行访问。可以举一个简单的例子。有一个小团队相约去一起淘金。但是他们不想把所有的金子都放在大家共有的一个口袋,因为那样难免会有偷奸耍滑的人存在,于是他们每个人都带了一个口袋,每个人的金子都不与团队共享。每个人独立的口袋就是程序中的ThreadLocal。

2023-06-25 15:19:03 150 1

原创 来看看什么是线程池

来看看什么是线程池

2023-05-19 16:23:10 107

原创 ArrayList的底层

ArrayList的所有操作都是基于数组实现,在我们要在List中添加一个元素的时候,底层会去对数组进行一个扩容,就是重新copy一个数组,而新数组的长度就是旧数组的length+1。1.他会根据旧数组的长度进行一个判断,newCapactiy(旧数组de length+旧数组的length >> 1 (相当于*2))。ArrayList:基于数组实现,调用remove(Object o),add()方法时,在底层其实是重新拷贝了一个数组以remove(Object o)举例。

2023-04-07 15:03:57 89

原创 linux下查看mysql使用的磁盘是固态还是机械

1.使用ps-ef |grep mysql 查看mysql的进程 其中有一个参数--datedir 指定了mysql的路径。3.然后使用cat /sys/block/{磁盘名称}/queue/rotational 查看是什么磁盘。2.进入该目录,使用df mysql 可以查看磁盘的使用情况。使用 lsblk -f可以查看全部磁盘。1代表机械 0代表固态。

2023-03-31 10:53:31 296

原创 Unknown column ‘xxx‘ in ‘field list‘

Unknown column 'xxx' in 'field list'

2023-03-21 17:22:40 95

原创 如何查看是那个小可爱动了你的DB

通过bin-log ->session->network->connection这条线去确定执行操作操作语句的的ip。mysql中的binlog会记录每一次除了查询之外的操作!

2023-03-16 17:24:45 71

原创 mysql的日志

mysql的undo-log,redo-log和bin-log

2023-03-16 16:33:53 116

原创 mvcc(多版本并发控制)

如果隔离级别是读未提交的话是允许脏读的直接读最新的数据就好了,串行读的隔离级别会将所有事务都排好队了,不存在都线程并发所以也不需要用到mvcc。mvcc:多版本并发控制,指的是一条记录会有多个版本,当数据发生改变时,会记录版本修改前的记录,多个版本穿成一个版本链,事务可以无锁的获取每一个版本的事物。回滚指针,当一个事务进行操作之后,mysql会将其存在undo-log中,该字段维护的就是旧版本的一个地址指针。mysql的隔离级别有四个:读未提交,读已提交,可重复读和串行读。

2023-03-15 17:08:36 115

原创 使用配置文件注入map或者bean

使用配置文件注入map或者bean

2023-03-15 10:10:05 479

原创 redis的持久化机制

RDB:redis通过创建快照的方式备份数据,RDB是redis默认的持久化方案。redis在指定的时间将数据写入到rdb快照中或者当保存数据达到一定次数时也会触发rdb。rdb这样的机制如果在redis宕记的时候会丢失数据,所以咱们可以用flushall触发rdb。rdb机制恢复数据的时候redis会启动一个子线程进行奖数据写到一个临时文件中。在这个过程中,主线程是不会进行IO操作的,这就保证了很高的性能。AOF:需要手动设置,该文件默认是无限追加的,以日志的形式记录写操作。

2023-03-13 14:14:55 58

原创 解决mybatis的隐式转换问题

解决mybatis的隐式转换

2023-03-09 15:56:19 831

原创 根据某一时间获取当前周或当前月的第一天或最后一天

根据某一时间获取当前周或者当前月的某一天

2023-03-03 16:45:05 998

原创 redis使用的过期策略

redis的过期策略

2023-02-27 14:49:51 131

原创 kafka的ISR机制

kafka的高可用的

2023-02-15 11:20:16 711

原创 入门kafka的一些基本概念

kafka的一些名词概念

2023-02-14 15:10:10 110 1

原创 校验字符串小数位数

校验字符串小数位数

2022-11-04 11:12:58 620

原创 校验时间(hh:mm)

校验时间

2022-11-04 11:01:17 373

原创 浅谈一下缓存和中间件

浅谈一下缓存和中间件

2022-11-02 18:32:37 319

原创 关于@Autowired注解注入为空(Java)

@Autowired注解为null

2022-11-02 17:26:30 2147

空空如也

空空如也

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

TA关注的人

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