04 2022 档案
-
java面试题之交替打印t1t2,sync版
摘要:使用多线程交替打印t1t2: package com.lizhenxin.java0422.b3; import lombok.extern.java.Log; import lombok.extern.slf4j.Slf4j; /** * @author lizhenxin * @create 2 阅读全文
-
关于偏向锁的批量重偏向与批量消除
摘要:批量 synchronized中的偏向锁是将线程id标记到markword中以占用锁 1.撤销 当对象调用hashcode时,会把hashcode存到markdown,这个hashcode是延迟更新的,只有调用的时候才会填入,所以这个时候如果有偏向锁,hashcode会将偏向锁挤走,也就是末尾bit 阅读全文
-
针对缓存数据的三个问题以及分布式系统下的解决方法(分布式锁)
摘要:问题: 1、缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,我们没有将这次查询的 null 写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 在流量大时,可能 DB 就挂掉了,要是有人利用不存在的 key 频繁攻 阅读全文
-
记一次springboot项目中,使用mybatis数据库链接报错
摘要:问题: 在使用springboot时mybaits链接数据库,出现了报错: 2022-04-06 15:14:13.250 ERROR 1404 [io-10001-exec-1] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exceptio 阅读全文