04 2023 档案
摘要:1、什么是循环依赖 顾名思义“循环依赖”,举一个简单的例子A中依赖B,B中依赖A,在实例化对象过程中,填充属性阶段A需要B对象,就去创建B对象,创建B对象的时候,发现B依赖了A,于是又去创建A对象,但此时A对象又没有创建结束,一级缓存中找不到,于是线程又去创建一个新的A对象,如此一来,就出现了重复创
阅读全文
摘要:索引所占空间的增长确实会对MySQL数据库的写入性能和查询性能造成影响,这主要是由于索引数据过多时会导致磁盘I/O操作变得非常频繁,从而使性能下降。为此,可以采取以下几种方式来减缓这种影响: 1. 限制索引的大小:可以考虑为索引指定大小限制,在存储时仅存储指定大小内的数据。例如,在创建索引时可以使用
阅读全文
摘要:确保Redis缓存一致性的N种方法 1、及时失效法 当程序需要update该数据时,先更新数据库数据数据,若数据库update成功,则重新为Redis该key值设置一个极短的过期时间,当过期之后,下一个请求自然会去数据库获取最新版本的数据 2、互斥锁 当程序需要update数据时,更新完数据库,再去
阅读全文
摘要:Java 中的拦截器和过滤器都是常见的用于拦截和处理系统请求的技术手段,它们的主要作用是在系统的关键点上增加通用的处理逻辑,以达到代码的复用和系统的解耦等目的。 相同点:- 都可以对请求进行拦截和处理,增加通用的处理逻辑。- 都可以实现系统的安全控制、日志记录、性能优化、缓存控制等功能。- 都可以通
阅读全文
摘要:1、为什么要使用高精度计算 拿整数举例: 在 Java 中,int 和 long 是两种基本数据类型,而 BigInteger 是一个对象类型。它们的取值范围如下: - int:32 位有符号整数,取值范围为 -2^31 ~ 2^31-1 (即 -2147483648 ~ 2147483647)。
阅读全文
摘要:一言以蔽之:重写 equals 方法是为了比较对象的内容是否相等,重写 hashCode 方法是为了保证对象在哈希表等数据结构中的正确性。 1、在 Java 中,如果一个类重写了 equals 方法,则必须同时重写 hashCode 方法。这是因为在 Java 中,对象的 hashCode 值用于在
阅读全文
摘要:MySQL 隔离级别是指在并发环境下控制并发访问数据的一种机制,它可以保证多个事务同时对数据库进行访问时,数据的正确性和一致性。MySQL 支持四种隔离级别,分别是 READ UNCOMMITTED(读未提交)、READ COMMITTED(读已提交)、REPEATABLE READ(可重复读)和
阅读全文
摘要:请编写一个程序,使用两个线程分别输出数字和字母,要求输出的结果为:1A2B3C4D5E6F7G8H9I10J。 提示:可以使用Java中的wait()和notify()方法来实现线程间的通信。 public class NumberLetterPrinter { // 定义一个静态的锁对象 priv
阅读全文