自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法】美团2024年春招第一场笔试【技术】- Q4小美的朋友关系【反向并查集+离散化】

小美认为,在人际交往中,但是随着时间的流逝,朋友的关系也是会慢慢变淡的,最终朋友关系就淡忘了。现在初始有一些朋友关系,存在一些事件会导致两个人淡忘了他们的朋友关系。小美想知道某一时刻中,某两人是否可以通过朋友介绍互相认识?事件共有 2 种:1 u v:代表编号 u 的人和编号 v 的人淡忘了他们的朋友关系。2 u v:代表小美查询编号 u 的人和编号 v 的人是否能通过朋友介绍互相认识。

2024-04-16 15:19:37 287 1

原创 【Java】BitMap内存实现

【代码】【Java】BitMap内存实现。

2024-03-18 23:23:52 361 1

原创 Linux系统自动化安装MYSQL

适配系统:centos 7,centos 8,centos stream 8,centos stream 9,redhat 7,redhat 8,redhat 9,almalinux 8,almalinux 9,rockylinux 8,rockylinux 9,ubuntu 18.4,ubuntu 20.4,ubuntu 22.4,debian 10,debian 11,debian 12,oraclelinux 7,oraclelinux 8,oraclelinux 9。

2024-01-21 10:07:29 402 1

原创 【MYSQL】一个关于最左匹配原则的问题

最左原则顾名思义就是从最左边开始匹配的原则,mysql会一直向右匹配直到遇到范围查询(>、

2024-01-02 20:33:08 436

原创 【算法】链表通法

【代码】【算法】链表通法。

2023-12-27 22:58:01 376 1

原创 【设计模式】对于单例模式的理解

单例的定义:“一个类只允许创建唯一一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。

2023-12-26 22:42:14 830 1

原创 【Java】对于JDK1.8 HashMap中扩容机制的理解(深入源码)

NEW_MASK会比原来的在高位(我们暂时称为这个位为high)多一个1,对于hash1来说,hash1在high上的1就被保留了,而MASK却不能留下这个1。2次按位与计算的结果不同,所以扩容以后该key需要移动到新的插槽,并且新的插槽位置是可以提前知道的。对于hash2来说,high上本来就是0,所以2次按位与运算的结果都一样,所以扩容以后该key无需移动到新的插槽。继续观察可以发现旧容量oldCap在high上刚好为1,然后你就可以理解下面代码中对于某个old插槽来说怎么迁移key了:(e

2023-12-26 20:54:48 964 1

原创 【Java】一个关于WeakHashMap与常量池的问题

在学习ThreadLocal源码中了解到WeakHashMap这样一个类,它的底层实现是依靠弱引用(gc的时候会被回收)自己实践的时候发现了这样一个问题:2段代码唯一不同点在于a和b是怎么定义的。思考一下这4种情况下最终打印情况是什么。

2023-12-20 16:33:54 316 1

原创 【JUC】Reentrantlock源码分析

AQS是并发容器J.U.C(java.util.concurrent)下locks包内的一个类。它实现了一个FIFO的队列。底层实现的数据结构是一个双向链表。AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中。AQS使用一个int成员变量来表示同步状态,通过内置的FIFO。

2023-12-19 21:45:52 784 1

原创 【Java】基于动态代理实现接口耗时计算

耗时计算写在主逻辑代码存在很强的耦合性,这里提供了一种解耦合的方式去实现,在Spring框架aop也用了这一技术。利用Proxy.newProxyInstance动态创建实现类。对于动态代理模式,Java的反射机制提供了支持。

2023-12-19 09:10:37 342 1

原创 【Java】ThreadLocal源码分析

TheadLocal底层通过Thead.currentThread获取每个thread对象的ThreadLocalMap,Set(T)方法会将Threadlocal对象本身作为key值,T作为value存入map当中。ThreadLocalMap的插槽继承了WeakReference,并调用了父类的构造方法让key变成弱引用。ThreadLocalMap底层实现为Entry数组+线性探测法,负载因子为2/3。

2023-12-18 22:56:49 435 1

原创 【MYSQL】InnoDB的锁机制详解

B事务:想获得users这张表的共享锁S,此时需要先获得users的IS(前面说过意向锁之间不会排斥所以可以直接获得),然后继续想要获得这张表的S锁,但是事务A已经获得了该表的IX,查表知S和IX互斥,B事务:想获得users这张表的共享锁,此时需要先获得users的IS(前面说过意向锁之间不会排斥所以可以直接获得),然后继续想要获得这张表的S锁,此时事务A已经获得了该表的IS,查表知S和IS相容,其中idx为普通索引,按照上表,(10,20)之间会加上间隙锁,且40会被锁住,也即[20,40]锁住。

2023-12-05 14:15:27 962

原创 【MYSQL】InnoDB的MVCC详解

readView = {m_ids=[40,60],min_trx_id=40,max_trx_id=61,creator_trx_id=40},这个时候去读数据发现第一条数据trx_id = 60,不等于creator_trx_id,说明并不是自己修改的,并且trx_id 大于min_trx_id,小于max_trx_id,说明此数据在事务A处理的范围内,并且在活跃事务表当中有trx_id = 60,说明此时该事务并未提交,根据RC隔离级别的要求,此时第一条数据不可见。

2023-12-03 10:54:01 843 1

原创 【算法】一道关于位运算的O(1)解法(位运算、集合论、均值不等式)

a = b;b = tmp;//取不变的高位//保留低位a &= mask;b &= mask;//不同的部分//相同的部分//加入相同的部分ax |= same;bx |= same;//有不同的部分需要分配//高位给a//从diff中移除//剩下的给bbx |= diff;ax %= mod;bx %= mod;

2023-11-24 22:56:56 340 1

原创 【Java】Java的Integer.bitCount()源码分析

已经将高4位全部设置为0,而存储16位只需要5个位(10000),在此之前最多占用了4个位,就算不抹除高8位(& 0x00ff00ff)也不影响。偶数位1的数量:(i >>> 1) & 0x55555555,偶数位右移到奇数位,原偶数位被按位与抹掉。与上面类似,而存储32位只需要6个位(100000),距离上次清理来说,还有2个位可用(一个8个)。& 0x55555555的作用:保留奇数位,去除偶数位。目的:对于每2位,存储1的数量。目的:对于每4位,存储1的数量。目的:对于每8位,存储1的数量。

2023-11-24 22:55:11 325 1

原创 【Python】爬取高校数据(名字,院校特色,所在地,性质)。可用于判断高校是否为双一流,本科/专科等分析

【代码】Python爬取高校数据(名字,院校特色,所在地,性质),可用于判断高校是否为双一流,本科/专科等分析。

2023-05-23 18:23:47 696

原创 【算法】二叉树-L2-004 这是二叉搜索树吗?

pta题解

2023-01-10 18:52:10 219

原创 【Linux】VMware创建Linux后启动虚拟机物理机出现蓝屏的问题[已解决 win10]

蓝屏问题

2022-12-08 20:52:03 4860

原创 【算法】二分答案 CodeForce 51C Three Base Stations

二分答案

2022-10-16 13:31:40 147

空空如也

空空如也

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

TA关注的人

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