![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记篇
文章平均质量分 85
围绕新技术学习的笔记汇总
学徒630
夜郎自大是无知者
展开
-
深度解析ThreadLocal:底层原理、数据隔离与内存泄漏解决
本文从面试经历出发,介绍了 ThreadLocal 的底层原理以及实现机制。通过分析 ThreadLocal 的源码实现和数据隔离原理,解释了每个线程如何维护自己的 ThreadLocalMap,以实现线程间数据隔离和安全访问。同时,探讨了 ThreadLocalMap 的初始化和哈希冲突解决策略,以及可能存在的内存泄漏问题和解决方法。最后,结合实际场景展示了 ThreadLocal 的使用场景和优势。原创 2024-03-22 15:39:44 · 1419 阅读 · 2 评论 -
《多线程并发控制:选择正确的锁策略》:互斥锁、自旋锁、读写锁、乐观锁、悲观锁
本文围绕多线程并发控制中的锁策略展开讨论,详细介绍了互斥锁、自旋锁、读写锁、乐观锁以及它们的选择和使用场景。提出在确定被锁住代码执行时间很短时选择自旋锁,否则使用互斥锁;阐述了自旋锁在单核 CPU 和多核系统下的适用情况;深入解析了读写锁工作原理以及读优先锁、写优先锁、公平读写锁的特点和适用场景;最后说明了乐观锁适用于低冲突概率下的场景,但随着冲突概率上升,不适合使用乐观锁的原因。原创 2024-02-23 13:36:39 · 733 阅读 · 0 评论 -
探索 LRU 算法的缺陷与解决方案
本文将探讨缓存系统中常用的淘汰算法之一——LRU算法存在的一些缺陷,并提出针对这些缺陷的优化方案。具体来说,我们将重点分析预读机制可能引发的预读失效问题和缓存污染问题,并探讨如何通过筛选预读数据和引入其他淘汰策略如LFU算法或ARC算法来解决这些问题。通过本文的阐述,读者将了解到如何更好地设计和优化缓存系统,提高系统性能和效率。原创 2024-02-20 19:42:17 · 1056 阅读 · 0 评论 -
Java安全实现微信消息提醒女友喝水(自动化消息定时 + 间隔重复发送)
本文介绍如何使用Java的AWT库实现自动化的微信消息提醒女友喝水功能,旨在帮助用户实现定时、间隔重复发送消息的自动化操作。原创 2024-02-20 11:31:14 · 565 阅读 · 2 评论 -
多核CPU 缓存一致性(总线嗅探、MESI协议)
本文介绍了MESI协议作为一种常见的缓存一致性协议,它通过对缓存行状态的管理和操作的同步控制,实现了事务的串行化执行。MESI协议使用四种状态来跟踪缓存行的状态,包括Modified、Exclusive、Shared和Invalid。通过正确的状态转换和处理策略,MESI协议保证了共享数据在不同处理器之间的一致性,并有效限制了对共享数据的并发访问,避免了数据的脏读和不一致问题。多核CPU缓存一致性技术是提高多核系统性能和可靠性的重要手段,深入理解和应用该技术对于开发高性能并发应用具有重要意义。原创 2024-02-01 17:53:47 · 1133 阅读 · 0 评论 -
MySQL8 窗口函数 →_→ 专治GROUP BY后组内元素
使用GROUP BY对数据进行分组后,让你计算组内元素的数值占整个组的比例,让你找组内前三大的元素等,你咋获取呀?原创 2024-01-28 19:46:50 · 880 阅读 · 0 评论 -
加速你的数据库:公司中SQL优化的八大绝招
SQL优化这个问题也是老生常谈了,很多都还是在八股文中了解到,那么公司里的SQL都是咋优化的呢?和八股文一样吗?下面,我将与大家分享我在公司里学到的SQL优化知识。SQL优化是提高数据库性能和减少资源消耗的重要一环,在我工作的过程中,我深刻体会到了SQL优化的重要性,并积累了一些实用的技巧和经验,我希望通过这篇博客,将这些知识分享给大家。原创 2024-01-11 11:40:11 · 1101 阅读 · 0 评论 -
HttpClient调用外部接口业务别忘了超时配置!公司工具类打包好啦
在工作中,往往会遇到需要对接外部接口的业务需求,根据接口文档确定请求IP以及相关的参数数据需求后,通过HttpClient进行第三方外部接口的调用。在这种业务中,也要考虑好请求超时导致的接口报错的处理。为什么呢?就我公司业务而言,我们这边的视频或者说融合通讯,因为厂商多,设备型号杂,经常都有调用不通的情况。今天正常的视频可能明天就不行了,如果后端这里不处理超时,前端如果无法拿到设备信息或者设备ID,页面的报错信息可能反应的就是接口报错了。这显然是不合情理的,为此,我们可以考虑加一个请求超时的参数(在配置文件原创 2024-01-09 17:17:42 · 459 阅读 · 0 评论 -
注解式参数校验@Valid,拒绝if-else炼狱
在软件开发中,与客户进行数据的交互是比较频繁的数据采集方式,而为了确保数据的正确落库,数据校验的部分必不可少。参数校验具体指的是对输入数据的大小、类型、正则匹配等对数据本身属性的校验,这一块的校验通常是在前端进行第一轮校验,确保参数具备一定逻辑正确性才将其打包至后端处理,而为了进一步增强安全性,也同样需要在后端板块进行二次校验。而对于此类校验,最常见也是最臃肿的处理方案就是if-else炼狱,如果说参数个数较少,那么无可厚非,但如果包含了七八个参数,那么这就很拉跨了,下面介绍一种基于注解的校验方案,进一步优原创 2024-01-08 17:37:01 · 955 阅读 · 0 评论 -
HTTPS安全防窃听、防冒充、防篡改三大机制原理
本文讲述了HTTPS的三大机制原理,即防窃听、防冒充和防篡改。HTTPS采用了加密算法确保数据不被窃听,并通过数字证书认证确保访问的网站真实可信;同时将内容进行摘要计算和数字签名,防止篡改攻击。原创 2023-12-03 16:05:33 · 1785 阅读 · 1 评论 -
Hutool 实现敏感信息展示脱敏及其反脱敏
业务中如果出现敏感数据展示,数据脱敏是一种重要的安全措施。数据脱敏是指在处理和存储敏感信息时,将这些信息中的敏感部分替换为无意义的数据,以保护用户的隐私和数据安全。本文基于Hutool工具类来实现一键式快速数据脱敏操作原创 2023-11-16 08:54:01 · 1634 阅读 · 0 评论 -
算不上最全,但都是必备——Redis这些不会不行啊
深入解析大中小厂常问的Redis面试题,揭秘其背后的奥秘!这篇文章涵盖了Redis的核心概念、数据结构和常用命令,让你在面试中信心满满。通过剖析实际应用场景和解决方案,帮助你深入理解Redis原创 2023-11-15 09:04:03 · 545 阅读 · 0 评论 -
算不上最全,但都是必备——Spring这些不会不行啊
揭示Spring面试的核心,描绘大中小厂常问的问题!这篇文章涵盖了丰富多样的Spring面试题,包括IOC、AOP、Spring Boot等热门话题。从原理到实践,深入解析这些问题,帮助你全面掌握关键原创 2023-11-15 08:40:43 · 288 阅读 · 0 评论 -
算不上最全,但都是必备——MySQL这些不会不行啊
探秘Mysql面试话题,揭晓大中小厂的常问问题!这篇文章涵盖了丰富多样的Mysql面试题,涉及性能优化、索引优化、数据备份与恢复等方面。通过深入剖析这些问题,带你了解面试的重点,提升自己的应对能力。原创 2023-11-15 08:27:40 · 631 阅读 · 0 评论 -
MQ四大消费问题一锅端:消息不丢失 + 消息积压 + 重复消费 + 消费顺序性
本文基于MQ在消费场景下的四大常见问题进行汇总解析,结合业务需求来提供多个业务解决方案,进一步提高对于MQ的理解和业务设计能力原创 2023-11-14 22:12:06 · 1331 阅读 · 0 评论 -
精准定位——MySQL日志学习的一天【错误、二进制、查询、慢查询】
讲解MySQL中的四大常用日志的概念以及在Linux系统下的多种操作,帮助数据管理员准确定位错误信息以及分析数据库查询和慢查询日志,定位并实现优化需求。原创 2023-10-17 17:08:39 · 177 阅读 · 0 评论 -
直接上最优解:如何保障MySQL和Redis的数据一致性?
六种方案图文结合论述保障MySQL和Redis的数据一致性的最优解原创 2023-10-17 09:23:33 · 113 阅读 · 0 评论 -
BCrypt 密码数据加解密运用
BCrypt 密码数据加解密运用,含工具类代码原创 2023-09-18 15:23:43 · 2510 阅读 · 0 评论 -
梳理总结线程池知识(内含常用线程池选型技巧及其API分类讲解)
核心、救急线程概念 + 原始线程池的构造方法解析 + 常用线程池及其适用场景 + 线程池常用API + 正确处理执行任务异常方式汇总梳理原创 2023-05-06 09:53:22 · 1389 阅读 · 0 评论 -
volatile、ReentrantLock和synchronized保证线程可见性原理
讲解什么是主存、工作内存、内存屏障概念,基于Java内存模型讲解线程可见性,列出volatile、ReentrantLock和synchronized三种方法保证线程可见性原理(代码+图示)原创 2023-09-11 13:45:28 · 340 阅读 · 0 评论 -
new BigDecimal(double val)注意事项 / JWT解析BigDecimal类型数据
new BigDecimal(double val)注意事项 / JWT解析BigDecimal类型数据原创 2023-08-14 15:59:44 · 152 阅读 · 0 评论 -
Java对象列表正反序列化在redis中存储 / 获取(没有那么麻烦)
Java对象列表正反序列化在redis中存储 / 获取,别转换为String,得转换为一个JSONString才方便的呀原创 2023-07-27 11:31:01 · 561 阅读 · 0 评论 -
nio-selector-处理消息边界(三大解决方案,含详细代码案例及步骤分析)
nio-selector-处理消息边界(三大解决方案,含详细代码案例及步骤分析).方案一:固定消息长度,数据包大小一样,服务器按预定长度读取;方案二:按分隔符动态调整缓冲数组的长度,截取合适区间;方案三:TLV格式将消息划分为类型、长度和值三个部分,以便于处理消息边界和解析原创 2023-07-21 04:01:16 · 186 阅读 · 0 评论 -
Selector实现NIO的读写事件(客户端正常/非正常退出及其iter.remove()的必要性)
Selector实现NIO的读写事件(客户端正常/非正常退出及其iter.remove()的必要性)含详细步骤解析注释原创 2023-07-21 03:13:10 · 170 阅读 · 0 评论 -
(拿去CV就能用!)EasyExcel读写Excel详细流程(图解+代码)
就看这一个就可以啦!!!EasyExcel读写Excel详细流程(图解+代码)原创 2023-07-18 17:41:37 · 6424 阅读 · 0 评论