- 博客(8)
- 收藏
- 关注
原创 乐观锁和悲观锁
在并发编程和数据库操作中,锁机制是确保数据一致性的重要手段。乐观锁和悲观锁作为两种主流的并发控制策略,各自适用于不同的业务场景。本文将剖析这两种锁机制的核心思想、技术实现和典型应用,帮助开发者做出合理的技术选型。
2025-06-10 23:12:55
691
原创 Redis为什么这么快?解析高性能的秘密
Redis高性能原理剖析:150字摘要Redis的高性能源于多重技术优化:内存存储实现微秒级响应,避免磁盘I/O瓶颈;精心设计的高效数据结构(如SDS、跳表)确保操作低时间复杂度;单线程模型配合I/O多路复用消除锁竞争,提升CPU缓存命中率;RESP协议和Pipeline减少网络开销;持久化方面采用RDB/AOF混合策略平衡性能与可靠性。实际使用需避免大Key,合理利用Pipeline,并选择适合的数据结构。这些设计使Redis单机QPS可达10万+。
2025-06-03 22:21:54
697
原创 synchronized锁升级机制
在Java多线程编程中,关键字是最基础的同步机制。为了提高性能,JVM在JDK 1.6及以后版本引入了锁升级机制,根据竞争情况动态调整锁策略,从低开销到高开销逐步升级。无锁 → 偏向锁 → 轻量级锁 → 重量级锁。
2025-05-30 23:40:05
808
原创 Java HashMap 深度解析
本文全面解析了Java中HashMap的设计原理与实现细节。HashMap基于哈希表实现,采用数组+链表+红黑树结构,具有O(1)时间复杂度的查询性能。关键特性包括:非线程安全、允许null键值、无序存储等。JDK8优化了链表长度超过8时转为红黑树的机制,提升查询效率。核心实现涉及hash()扰动函数、put()插入逻辑、resize()扩容机制等,其中扩容是最耗性能的操作。需要注意的是HashMap存在并发问题,建议使用ConcurrentHashMap处理多线程场景。优化建议包括预分配容量、优化hash
2025-05-26 22:45:49
669
原创 双Token无感刷新方案
最近在做用户认证模块的后端功能开发,之前就有一个问题困扰了我好久,就是如何设置。向后端发起请求,后端判断refresh_token是否有效,有效则重新获取新的。无感刷新机制,通过组合设计,在保证安全性的情况下,实现无感知的认证续期。失效之后,才需要用户重新进行登录认证,同时,后端可以通过对用户。的过期时间,前端在申请后端登录接口成功之后,会返回一个。在用户端发起前端请求,访问后端接口,在请求头中携带上。的管理来限制用户对后端接口的请求,大大提高了安全性。的刷新是无感知的,不会影响用户体验,只有当。
2025-03-30 00:02:36
512
原创 Redisson分布式锁实现
实现切面逻辑的,代理对象会拦截目标方法的调用,在目标方法执行前后插入切面逻辑,但如果调用发生在同一类的内部方法之间时,调用路径不会经过代理对象,导致切面逻辑触发失败。随着课堂气氛的逐渐回暖,杨老师也露出了笑容:“好,今天的课程到此为止,希望你们在以后的学习中继续保持这种热情,也要好好利用分布式锁的知识,真正应用到实际项目中去。调用的方法才会被代理拦截。柳梢同学:杨老师,有的,有的,像这么简单的方法当然是不止一个了,听我慢慢道来。方法,把锁的模板写在方法里,调用的时候只需要指定锁的key,把锁内的代码块用。
2025-03-28 23:17:52
1127
原创 如何用IDEA和Navicat导入导出数据库
在数据库开发和管理中,导入和导出SQL文件是常见的操作,不论是为了数据迁移、备份,还是数据恢复。在本篇文档中,我们简单介绍了如何在IntelliJ IDEA及Navicat中进行SQL文件的导入和导出。
2025-03-28 23:17:13
4171
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅