自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql主从同步(MySQL应对高并发场景的常见方案)

我们现在有一个线程,将数据更新到主库以后,因为从库目前只进行写操作,所以该线程不会再去将数据更新到从库的,此时就出现了主从不一致的情况,我们需要进行主节点和从节点之间的同步。主库完成一个事务的时间被拉长,性能降低。我们可以看到这是一系列的一个操作,如果在这个操作中间,主库已经写入了数据,而从库还没有接收到新的数据,此时新的读操作已经访问到从库了,此时访问到的数据就不是最新的。根据这些信息可以进一步排查问题,还有一些其他的问题,比如:大事务,从库太多,网络延迟,复制模式,主从库本身的性能问题等。

2024-02-20 15:46:49 824

原创 浅学Buffer Pool(mysql篇)

对于这个问题,我们先了解下mysql的预读机制。由于数据的局部性,mysql在读数据的时候一般会把其相邻的数据页一并加载进来,目的是为了减少磁盘IO。但是也有可能这些被加载进来的相邻页并没有被访问到,这就是预读失败。这就有可能导致LRU链表前面的位置是一些不怎么被访问的数据,而被淘汰的那些却有可能是热点数据。mysql是怎么处理这个问题的呢,它将LRU链表分为了young和old两段,两个区域的比例可调,默认是7:3。

2024-02-19 14:21:29 1283 1

原创 浅谈分布式锁

分布式锁是我们分布式环境下对于资源共享安全的一种常见处理方式。在我们学习的过程中学到了很多的“锁”,比如synchronized,lock等等。它们都是用来解决共享资源同步问题的,但是在分布式系统中,这些锁却无法保证共享资源的安全性问题,因为它们都是基于jvm层面的锁,针对于单台机子。分布式环境下会有多台服务器,这些锁就失效了。而分布式锁的出现,则解决了分布式系统中的这些问题。那么讲了这么多,分布式锁究竟是一个什么样的东西呢?分布式锁其实是一项技术,它并不指某一个具体的东西。

2024-02-19 14:21:20 1012 1

原创 浅学消息队列(Kafka篇)

一提到Kafka大家都想起了什么,反正在我的脑海里会出现这几个词汇:海量数据,发布订阅,日志处理......第一次Kafka印象深刻是在我的一次项目部署过程中。本着我把它全学会了就是我的的思想,恬不知耻的将其一位大神的项目copy了下来。当时就觉得,对于已经能够成功搭建老版本Hadoop的我来说这不是小菜一碟吗(搭建完成后就觉得自己是运维届扛把子了)?当时的我是心高气傲,没想到后面的我,却是生死难料。作者推荐的版本是3.x,但是因为专业学的是一个很老的版本(2.几我忘了),我图省事就部了。

2024-02-06 16:19:27 859

原创 了解下Java中的Synchronized锁

可以看到:flags中出现了两个属性,一个是ACC_PUNLIC,另外一个是ACC_SYNCHRONIZED。第一个属性是表示该类的访问类型为public,如果为ACC_PRIVATE就表示访问类型为private。第二个属性就表示该方法为同步方法,同一时间只允许一个线程对其进行操作。可以看到,在指令当中多了monitorenter,和 monitorexit指令,这两个指令的意思就是进入同步代码块,和出同步代码块的意思,中间的内容同一时间只能由一个线程访问。

2023-08-09 15:14:35 242 2

原创 MySQL中事务的隔离性

原子性:通过redo log来保证持久性:通过undo log来保证隔离性:通过MVCC和锁来保证一致性:通过原子性+持久性+隔离性一起保证。

2023-08-08 11:29:47 151 2

原创 Redis持久化策略之AOF

本文介绍了redis的持久化策略中的AOF日志

2023-08-02 12:56:31 76

原创 仿牛客项目开发社区功能总结

2023-07-28 10:55:46 73 1

原创 HashMap的添加元素过程以及其put方法

3.添加数据的时候,根据所存储的键的hash值计算出应存入数据的下标来确定数据所处位置,当这个位置原本没有数据的时候,则会直接将数据存入,如果原位置有值,且此时数据与原数据的hash值相等,且原本key的值本身与将要添加的key值相等,则对原值进行覆盖,并且此时的put方法返回值由null变为被此时元素的value。put方法就是HashMap在添加元素的时候用到的方法,也是面试中常常考察到的一点,先给大家以八股文的角度回答一下关于put方法的面试问题,这样有助于大家理解后面的源码。

2023-06-14 12:55:48 1742 2

空空如也

空空如也

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

TA关注的人

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