摘要: 分布式锁在分布式环境中主要负责保证同一时间只有一台服务器可以获得该资源 redis实现分布式锁的方式有以下几种 setnx:setnx原理为仅在当前setnx的键不存在的情况下设置键,释放锁通过delete。 expire可以指定键失效时间,保证其可以释放 缺点:setnx和expire非原子操作, 阅读全文
posted @ 2026-02-11 14:21 acccccccccc 阅读(9) 评论(0) 推荐(0)
摘要: MySQL 日志体系非常完善,分为多种类型,用于不同场景:故障恢复、性能优化、审计追踪等。 Error Log:错误日志。记录启动,运行,关闭过程中的问题。 General Log:通用查询日志,记录所有SQL查询。 Slow Query Log:慢查询日志,记录执行时间超过阈值的语句。 Bin l 阅读全文
posted @ 2026-02-05 15:58 acccccccccc 阅读(10) 评论(0) 推荐(0)
摘要: OOM全程Out Of Memory,意思是JVM里没有足够的空间供使用,并且垃圾回收器也没有垃圾可回收就会抛出这个error。 OOM原因 1.内存分配太少,可以通过修改JVM参数来修复。 2.未及时释放资源,造成内存泄露或内存溢出。 内存泄漏:使用完的资源未及时释放导致该空间无法回收,并且无法分 阅读全文
posted @ 2026-02-03 15:07 acccccccccc 阅读(12) 评论(0) 推荐(0)
摘要: 1.语言层级 sychornized是JVM内置关键字,lock是jdk类。 2.获取方式 sychornized自动获取/释放,lock需要手动lock()或unlock()。 3.释放时机 sychornized方法结束后自动释放,lock需要在finally里手动unlock()。 4.响应中 阅读全文
posted @ 2026-02-03 10:36 acccccccccc 阅读(2) 评论(0) 推荐(0)
摘要: 事务的特性(ACID) 原子性(Atomicity):事务是最小的执行单位,不允许分割,要么全都执行,要么全不执行。 一致性(Consistency):执行事务前后,数据保持一致。 隔离性(Isolation):并发访问数据库时,一个用户的事务不应该被其他事务干扰,各并发事务之前的数据库是独立的。 阅读全文
posted @ 2026-02-02 15:01 acccccccccc 阅读(4) 评论(0) 推荐(0)
摘要: MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种“用空间换时间”的并发策略:同一行数据在数据库里保留多个版本,让读事务与写事务互不阻塞,从而在高并发场景下既能保证隔离性,又能获得接近无锁的读性能。 1.核心思想 写操作不覆盖旧数据,而是生成新版本; 阅读全文
posted @ 2026-02-02 10:35 acccccccccc 阅读(32) 评论(0) 推荐(0)
摘要: Spring Boot 自动配置(Auto-configuration) 是其"约定大于配置"理念的核心实现。它能根据类路径依赖、环境变量、配置文件等上下文,自动推断并注册所需的 Bean,无需开发者手动编写 XML 或 Java Config。 1.启动入口 SpringBoot项目中有一个@Sp 阅读全文
posted @ 2026-01-30 14:51 acccccccccc 阅读(4) 评论(0) 推荐(0)
摘要: MySQL 与 Redis 的双写一致性是缓存架构的核心难题。由于网络延迟、故障回滚、并发竞态等因素,两者只能追求最终一致性,无法保证强一致性(除非牺牲性能用分布式锁)。 什么是双写一致性 在分布式系统中,双写一致性主要指在一个数据同时存在于缓存(如Redis)和持久化存储(如数据库)的情况下, 任 阅读全文
posted @ 2026-01-30 11:39 acccccccccc 阅读(49) 评论(0) 推荐(0)
摘要: 在JDK8中,HashMap的底层有数组+链表变为数组+链表+红黑树。主要是为了解决哈希冲突极端情况下的性能退化问题,同时也是一种防御性编程手段。 红黑树 红黑树有四大特征: 1.节点非黑即红。 2.根节点和叶子节点为黑色。 3.每个红色节点必须有两个黑色子节点。不能有两个连续的红色节点。 4.从任 阅读全文
posted @ 2026-01-30 09:22 acccccccccc 阅读(19) 评论(0) 推荐(1)
摘要: volatile是Java并发编程中的轻量级同步机制,核心解决可见性和有序性的问题 三大特性 1.可见性:修改立即可见。 线程A修改了,线程B立即可见。 2.有序性:禁止指令重排。 代码执行的顺序就是执行顺序。 3.不保证原子性:符合操作仍可能出错。 i++这种操作仍需要sychornized或At 阅读全文
posted @ 2026-01-29 16:33 acccccccccc 阅读(20) 评论(2) 推荐(0)