- 博客(24)
- 收藏
- 关注
原创 redis的基本数据类型
redis有5中数据结构,分别是String,List,Hash,Set,Zset。都是使用key-value的形式进行存储。数据类型的不同在使用中就体现在value的数据格式不同。
2024-08-05 16:57:08
392
原创 kafka的文件存储
partition是一个物理概念,每个partition都会对应一个.log文件,该.log文件就是生产者所生产的消息。如果生产者向某一个partition一直发送消息,该partition所对应的.log文件就会一直在末尾追加,为了防止.log文件过大而导致定位效率低下kafka的log文件的分界值为1G。同时,为了快速的检阅大文件中的消息位置,kafka运用了分片和索引的机制进行定位。.index文件存储消息offset+真实的起始偏移量,.log文件存储的是真实的数据。
2024-07-31 15:36:51
227
原创 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
原创 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
原创 如何查看是那个小可爱动了你的DB
通过bin-log ->session->network->connection这条线去确定执行操作操作语句的的ip。mysql中的binlog会记录每一次除了查询之外的操作!
2023-03-16 17:24:45
71
原创 mvcc(多版本并发控制)
如果隔离级别是读未提交的话是允许脏读的直接读最新的数据就好了,串行读的隔离级别会将所有事务都排好队了,不存在都线程并发所以也不需要用到mvcc。mvcc:多版本并发控制,指的是一条记录会有多个版本,当数据发生改变时,会记录版本修改前的记录,多个版本穿成一个版本链,事务可以无锁的获取每一个版本的事物。回滚指针,当一个事务进行操作之后,mysql会将其存在undo-log中,该字段维护的就是旧版本的一个地址指针。mysql的隔离级别有四个:读未提交,读已提交,可重复读和串行读。
2023-03-15 17:08:36
115
原创 redis的持久化机制
RDB:redis通过创建快照的方式备份数据,RDB是redis默认的持久化方案。redis在指定的时间将数据写入到rdb快照中或者当保存数据达到一定次数时也会触发rdb。rdb这样的机制如果在redis宕记的时候会丢失数据,所以咱们可以用flushall触发rdb。rdb机制恢复数据的时候redis会启动一个子线程进行奖数据写到一个临时文件中。在这个过程中,主线程是不会进行IO操作的,这就保证了很高的性能。AOF:需要手动设置,该文件默认是无限追加的,以日志的形式记录写操作。
2023-03-13 14:14:55
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人