自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1202

我们把可以交换的下标放在一个集合,这个集合内部,把所有字符排序,把最小的放在前面,这样就得到了最小的字典序。,以及该字符串中的一些「索引对」数组。表示字符串中的两个索引(编号从。可以变成的按字典序最小的字符串。中的下标连在一块,经典连通块问题。的所有二元组可以看作连接,把。你可以 任意多次交换 在。中任意一对索引处的字符。返回在经过若干次交换后,

2024-01-02 18:00:21 372

原创 1061. 按字典序排列最小的等效字符串

的时候,把字典序小的放在父亲位置,那么这个集合的代表节点就是字典序最小的,最后遍历。,但是由于字典序要小,怎么实现,只需要。的等价信息和之前的例子一样,那么。,把每一个字符用代表节点表示就可以了。的按字典序排列最小的等价字符串。,这三个字符串都是等价的,而。的按字典序最小的等价字符串。解,把所有可以的单词放在一个。的等价信息,找出并返回。给出长度相同的两个字符串。

2024-01-02 15:48:24 331

原创 算法LeetCode

位置上的砖块时,对应位置的砖块(若存在)会消失,然后其他的砖块可能因为这一消除操作而 掉落。一旦砖块掉落,它会 立即 从网格。注意,消除可能指向是没有砖块的空白位置,如果发生这种情况,则没有砖块掉落。至少有一块相邻(4 个方向之一)砖块 稳定 不会掉落时。中消失(即,它不会落在其他稳定的砖块上)。,这是需要依次消除砖块的位置。一块砖直接连接到网格的顶部,或者。次消除操作对应掉落的砖块数目。

2023-12-28 21:29:52 353 1

原创 MyBatis&MyBatis-Plus

在核心配置文件中,设置全局配置属性cacheEnabled="true",默认为true,不需要设置。查询的结果会被缓存;此后若再次执行相同的查询语句,结果就会从缓存中获取。两次查询之间执行了任意的增删改,会使一级和二级缓存同时失效。查询的数据所转换的实体类类型必须实现序列化的接口。MyBatis的二级缓存(比一级缓存的范围大)两次查询期间执行了任何一次增删改操作。两次查询期间手动清空了缓存(属于占位符,会自动添加引号。如果有两个及以上的参数,用。MyBatis的一级缓存(,表示此属性不是表的字段。

2023-07-24 20:40:49 122

原创 Redis总结(二)

逻辑分析:假设线程1在查询缓存之后,本来应该去查询数据库,然后把这个数据重新加载到缓存的,此时只要线程1走完这个逻辑,其他线程就都能从缓存中加载这些数据了,但是假设在线程1没有走完的时候,后续的线程2,线程3,线程4同时过来访问当前这个方法, 那么这些线程都不能从缓存中查询到数据,那么他们就会同一时刻来访问查询缓存,都没查到,接着同一时间去访问数据库,同时的去执行数据库代码,对数据库访问压力过大。线程1获取锁成功,执行业务,判断也成功了,释放锁的时候阻塞了。如果一个业务需要一段时间,不应该让他的锁释放。

2023-07-22 10:11:28 24

原创 Redis总结(一)

key-value型,value可以是字符串,整数,浮点数,json等。读取时如果没有,会等待timeout的时间。按照score排序,score在范围内的元素。得到key的所有filed和value。按照score排序,排名在范围内的元素。,如果已经存在则更新其score值。读取start到stop范围内的。如果不存在,插入,如果存在不插入。得到对映的key的value。得到所有的key的filed。获取score在范围内的个数。如果不存在filed,插入。获取元素的score值。Redis的数据结构。

2023-07-19 20:20:11 16

原创 MySQL(六)

事务提交的时候,再把binlog cache写到binlog文件中。因为一个事务的binlog不能被拆开,无论这个事务多大,也要确保一次性写入,所以系统会给每个线程分配一个块内存作为binlog cache。写入了redo,但是没有写入binlog,所以主服务器启动后会发现redo的值是 c =1,会改变。,记录内容是语句的原始逻辑,类似于“给 ID=2 这一行的 c 字段加 1”,属于 MySQL Server 层。:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。

2023-07-18 15:14:21 16 1

原创 MySQL总结(五)

读锁之间不互斥,因此你可以有多个线程同时对一张表增删查改。当我修改数据库的记录时,会把这条记录先加载到缓存中,修改缓存的记录,所在的页为脏页(与磁盘的数据不一致),不会立刻写入磁盘,会等待一个时机写入磁盘。数据库和内存之间进行IO的时候,事务正在进行,如果数据库宕机,那这时候数据就会不一致,就要回滚到以前的数据,undo log就是实现这个功能的。如果列表有1, 2, 3那么此字段就是不一定时4,因为4事务可能是已经有了,但是提交过了,这个字段必须是列表没有出现过的,下一次将要进来的。

2023-07-16 20:00:49 15 1

原创 MySQL总结(四)

事务A读了2条数据,事务B增加了2两条记录,事务A再读的时候发现有4条记录,和幻觉一样。事务A查了一个字段,事务B修改了这个字段,事务A又读了一次,两次的数据不一样了。一种合法的状态转换到另一种合法的状态,事务要保证数据的一致性,满足数据的约束。是A转账给B,A有100元,如果转给B 101元,此时不满足数据的约束。事务A的age = 1,事务B的age = 20;事务一旦提交,对数据库的改变将是永久性的。事务A修改了事务B未提交并且修改的数据。隔离性(Isolation)事务A读了事务B未提交的数据。

2023-07-14 16:35:55 11 1

原创 MySQL总结(三)

在Compact和Reduntant行格式中,对于占用存储空间非常大的列,在记录的真实数据处只会存储该列的一部分数据,把剩余的数据分散存储在几个其他的页中进行分页存储,然后记录的真实数据处用20个字节存储指向这些页的地址(当然这20个字节中还包括这些分散在其他页面中的数据的占用的字节数),从而可以找到剩余数据所在的页。Compressed行记录格式的另一个功能就是,存储在其中的行数据会以zlib的算法进行压缩,因此对于BLOB、TEXT、VARCHAR这类大长度类型的数据能够进行非常有效的存储。

2023-07-13 21:59:01 15 1

原创 MySQL总结(二)

一张表只能有一个主键,所以就只有一个主键索引,但是查询的话还可能会用到其他的字段,这时候可以给这个字段也加上索引,这个索引就是二级索引(辅助索引)也就是说,刚开始的时候根页面存的是数据,后来数据太多需要目录页的时候,根页面自动页分裂成为目录页。所以想要找到全部的数据,就需要根据主键的值,回到主键的B+Tree中去找,这一步操作叫回表。这个图的非叶子节点放的是非主键的值和页号, 叶子节点放的是主键和构建索引的非主键的值。MyISAM的B+Tree叶子节点存的是数据的地址,InnoDB存的是数据。

2023-07-12 21:22:39 15 1

原创 MySQL总结(一)

MySQL的架构有三层,分别为Connection(连接层)、Service(服务层)和Engines(存储层)。

2023-07-06 10:43:43 19 1

原创 Lambda与Stream流

宿舍里有一股味,找了好久没有找到,原来是枕头里藏着发了霉的梦,和我腐烂的梦想,谁没奢求过一场骗自己的幻想,这被世人称作梦。我想当一个非常厉害的程序员,在大厂工作,认识一些厉害的人。等明年找到工作了,我要说一说我这几年是怎么过来的,真的是独行。过滤流,接口内的方法返回boolean,true时保留,false时过滤。流类型转换,可以使用匿名内部类或者Lamdba以及方法引用。Lambda和Stream流。只能处理一个流对象,,可以转换为多种类型。

2023-07-05 17:42:37 22 1

原创 Spring

1. 控制反转 (IOC)2. 面向切面编程(AOP)

2023-04-02 16:04:18 30 1

空空如也

空空如也

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

TA关注的人

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