- 博客(23)
- 收藏
- 关注
原创 SpringBoot面试题
热部署: 修改代码不需要重启,就可以实现编译并部署到服务器上。①使用devtools。在配置文件中把devtools.restart.enabled 设置为 true。每次都需要build一下才行。②idea设置实现热部署。自动装配是SpringBoot的核心特性之一,它指的是SpringBoot在启动时会自动配置项目所需的各项依赖,使得开发者无需手动配置即可使用这些依赖。这种自动配置是基于Spring的依赖注入(DI)和反转控制(IoC)实现的。工作原理启动类注解。
2025-03-23 16:46:57
778
原创 MySQL面试题
MVCC 又叫多版本并发控制,是一种用于数据库并发控制的技术传统的select lock in share mode基于当前读,会对读取的记录进行加锁MVCC基于快照读,是一种用来解决读-写冲突的无锁并发控制技术MVCC 实现原理主要是基于 3 个隐式字段,undo log , Read View隐式字段DB_TRX_ID 最近修改事务 IDDB_ROLL_PTR 回滚指针,指向这条记录的上一个版本DB_ROW_ID 隐含的自增 ID(隐藏主键)undo log。
2025-03-19 17:13:52
258
1
原创 数据库索引面试题
该查询会沿着idx_name_age索引树,找到第一个字是小的索引值,因此依次找到小军、小伦、小燕、,分别拿到Id=600、100、700,然后回三次表,去找对应的记录。「解析:」 这里考察索引下推的知识点,如果是「Mysql5.6之前」,在idx_name_age索引树,找出所有名字第一个字是“小”的人,拿到它们的主键id,然后回表找出数据行,再去对比年龄和性别等其他字段。如果是statement格式,binlog记录的是SQL的原文,他可能会导致主库不一致(主库和从库选的索引不一样时)。
2025-01-14 16:21:52
633
原创 学习Java中锁
是 Java 语言的关键字,用于实现悲观锁。它可以通过修饰方法或代码块来确保在同一时刻只有一个线程可以执行被修饰的代码段。提供了对对象或代码块的独占锁,确保线程安全。在早期的 Java 版本中,synchronized 主要依赖于操作系统级别的互斥锁(mutex)。然而,从 Java 6 开始,JVM 对 synchronized 进行了大量优化,引入了偏向锁、轻量级锁和重量级锁等机制,以提高性能。偏向锁:当一个线程第一次获取锁时,JVM 会将锁“偏向”给该线程,避免后续的同步开销。
2024-12-30 15:10:01
581
原创 JAVA过滤器和拦截器
4.2 Filter的生命周期由Servlet容器管理,而Interceptor通过IOC容器来管理,可通过注入等方式来获取其Bean的实例;4.1 Filter依赖于Servlet容器,属于Servlet规范的一部分,而Interceptor依獭于SpringMVC框架;2.1自定义过滤器,实现Filter接白(SpringBoot3开始,jakarta.servlet.Filter)过滤器Filter和拦截器Interceptor,在功能方面很类似,但在具体实现方面差距还是比较大的。
2024-12-20 10:25:02
147
原创 MySQL中Json操作 & Java操作Json
Mysql5.7版本以后提供了一个原生的Json类型,Json值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(document elements)的内部二进制(internal binary)格式。
2023-11-10 11:40:40
2763
1
原创 Maven构建过程中 [ERROR] Malformed \uxxxx encoding 的解决过程
删除.m2文件夹中的path-to-the-library或者resolver-status.properties 文件,然后点击Invalidate Caches/ Restart清理缓存,重启idea。
2023-09-05 09:11:58
883
1
原创 Java线程池以及Future和CompletableFuture的用法
是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。
2023-07-13 16:55:27
3097
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人