- 博客(3)
- 收藏
- 关注
原创 SpringBoot
Spring Boot 提供了一个内置的日志框架,用于记录应用的运行日志。它支持多种日志实现,包括LogbackLog4j和。Spring Boot 默认使用Logback作为日志框架,并且与SLF4J进行了集成。SLF4J(Simple Logging Facade for Java)为不同的日志框架提供了统一的日志接口,而Logback是最常用的日志实现之一。通过这些组件,Spring Boot 能够高效地记录日志,帮助开发者进行应用调试和运维。Logback性能高效。
2025-10-18 21:24:41
548
原创 Redis-缓存三兄弟(穿透、击穿、雪崩)
缓存击穿:对于设置了过期时间的key,缓存在某个时间点过期的时候,恰好这个时间点对这个Key有大量的并发请求过来。利弊:如果选择数据的强一致性,建议使用分布式锁的方案,但性能上可能没那么高,且有可能产生死锁的问题。缓存穿透:指查询一个一定不存在的数据,由于存储层查不到数据因此不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。方案二:在redis前面添加布隆过滤器,当缓存预热时,也会预热布隆过滤器,布隆过滤器可以过滤掉数据不存在的请求。缺点:实现复杂,存在误判。
2025-10-15 00:04:43
290
原创 关于StringBuilder和StringBuffer的扩容机制
因此,如果预先知道字符串大概的长度,最好在创建StringBuilder时就指定一个足够大的容量,以减少扩容操作的次数。初始化容量:当创建一个新的StringBuilder对象时,如果没有指定容量,它通常会有一个默认容量,通常是16个字符。//扩容后,value的指向从16变成34,将“你好呀”复制到长度为34的新数组中。内存分配:扩容时,会创建一个新的字符数组,其大小是新的容量,并将原数组的内容复制到新数组中。//使用无参的构造方法,调用父类的有参,调用到父类的16。
2025-01-19 23:04:38
1118
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅