- 博客(15)
- 收藏
- 关注
原创 线程安全与锁优化 --- 读书笔记
线程安全:当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步操作,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那么就称这个对象是线程安全的。 线程安全分类方法 线程安全性的分类方法,按照由强至弱进行排序,可以分为: 不可变:不可变对象一定是线程安全的,无论是对象的方法实现还是方法的调用者都不需要再进行任何线程安全的保障措施。 对于一个基本类型的数据只要定义时使用final关键字修饰即可保证不可变。 对于一个对.
2021-07-26 01:04:01
143
原创 Hibernate Validator源码解析
一. 引言 问题:在代码编写的过程中,数据值的校验在JavaEE三层架构(展示层、业务层、数据访问层)均有涉及,各层的校验需求又是不尽相同的,因此往往会伴随着代码冗余,重复的校验逻辑出现在三层代码中。 简介:JSR-303 Bean-Validator伴随着此类问题应运而生,Hibernate-Validator就是一个遵循JSR-303规范的优秀实践。 图片截取自Hibernate Validator 官方pdf文档。 Hibernate-Validator提供了较为完善、便捷的校验方式解决了代码校验问题
2021-05-26 19:33:35
2067
原创 MyBatis技术内幕读书笔记--------第一章
Mybatis整体架构 基础支持层: 反射模块:对 Java 原生的反射进行了封装,且对反射操作进行了优化,缓存了类的元数据,提高了反射操...
2020-11-06 21:06:00
148
原创 Lucene源码阅读 Analyzer分词器
Analyzer:包含两个核心组件,Tokenizer 以及 TokenFilter。 Tokenizer:用于将field字段的内容切割成单个词或token...
2020-11-06 15:37:00
202
原创 Lucene源码阅读 IndexWriter结构
索引访问原则: 同一时刻,Lucene仅允许一个进程对其进行加入文档、删除文档、更新索引等操作; 同一时刻,Lucene允许多个线程同时对其进行检索。 ...
2020-08-24 21:00:00
349
原创 Redis缓存设计
缓存的收益及成本 收益:加速读写、降低后端负载 成本:数据不一致性、代码维护成本、运维成本 缓存更新策略 LRU/LFU/FIFO算法剔除,...
2020-08-16 15:07:00
126
原创 Redis内存
Redis内存消耗:自身内存 + 对象内存 + 缓冲内存 + 内存碎片 自身内存:Redis进程自身内存占用量很小,大约在3.8M左右。 对象内存:siz...
2020-08-07 14:25:00
181
原创 Redis阻塞
可能存在问题 内在原因:API或数据结构使用不合理、CPU饱和、持久化阻塞等 外在原因:CPU竞争、内存交换、网络问题等 问题处理: API...
2020-08-07 01:10:00
94
原创 Redis复制
复制:slaveof {masterHost} {masterPort} 注: 任何针对主节点的操作都会同步到从节点 断开复制时从节点数据不会消失且自动...
2020-08-05 00:58:00
78
原创 Redis持久化
RDB:将当前进程数据生成快照保存到硬盘的过程。 两种方式: save:阻塞当前Redis服务器知道RDB过程完成。 bgsave:Redis进程for...
2020-07-24 09:55:00
86
原创 Redis客户端操作
client list客户端相关信息: fd: socket文件描述符 qbuf: 输入缓冲区(作用:临时存储客户端发送的命令) obl(固定缓冲区,...
2020-07-22 21:06:00
116
原创 Mysql工作日志
1. DISTINCT效率极差,可以选择替换groupby,最好能在代码内部去重 2. filesort效率也很低 3. 能使用连接查询尽量不要使用子查询 4....
2020-07-16 16:23:00
117
原创 Redis实用小功能
慢查询分析 配置slowlog-log-slower-than和slowlog-max-len解决这两个问题,redis会记录超过该阈值的查询日...
2020-07-09 20:43:00
71
原创 Redis基础数据结构
Redis数据结构:String、Hash、List、Set、ZSet(每种数据结构均包含两种以上的内部编码) Redis单线程架构: 1. 纯内存访问 2. 非阻...
2020-07-09 20:17:00
77
原创 倒排表读书笔记
构建倒排表的关键类: ByteBlockPool类:用二维数组存放term的倒排表数据 IntBlockPool类:由于term倒排表的数据并非存储在连续...
2020-06-09 21:53:00
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人