读书笔记
文章平均质量分 72
月亮船长
用代码谱写完美的诗歌
展开
-
Redis数据库与实现
redis的数据库保存在redisServer结构体总的db数组中,而db数组的元素则是由redisDb结构体描述。redisserver中的dbNum代表了所能创建的最多的数据库,由配置项database决定,默认为16个。原创 2023-03-28 17:06:31 · 318 阅读 · 0 评论 -
Redis 基础数据类型
主要解决C语言不支持字符串功能,对C语言字符数组进行扩充增加字符串属性与方法。原创 2023-03-14 18:57:27 · 802 阅读 · 0 评论 -
提高mysql性能:设计阶段
避免太多的列太多的列会导致mysql从行缓存中将编码过的列转换为行数据时花费大量大代价。减少太多的关联为减少太多的关联造成解析和查询的性能影响,应该将单表的关联控制在12个之内。合理使用枚举枚举只适用于值相对固定,且同时只有一个值的情况,修改枚举值会造成Alter table,阻塞用户操作谨慎地使用NULLNULL应尽量减少使用,使用时需要在减少性能影响、降低业务数据复杂度中做权衡选择。原创 2023-01-28 12:10:11 · 725 阅读 · 0 评论 -
VisualVM详解(手把手教你分析监控使用)
VisualVM详解(手把手教你分析监控使用)转载 2023-01-26 13:26:16 · 696 阅读 · 0 评论 -
JVM堆内存分配策略(深入理解Java虚拟机第三章)
原因本人觉得,是由于目前以Spring为主流的的动态代理、反射的大量使用,导致永久代的空间需求和用途已经发生非常大的改变,移除到直接内存中,可以简化JVM垃圾回收,内存管理的工作,也扩展了永久代的占用空间,操作使用更加的便捷。新建对象一般会存放于Eden分区。如果Eden分区空间不足,则执行MinorGC,进行垃圾回收,如果依然无法存放,将放置到Survivor分区,如果Survivor分区依然空间不足,则会将Survivor分区的对象通过分配担保机制提前转移到老年代。原创 2023-01-20 18:41:11 · 726 阅读 · 0 评论 -
JVM 垃圾回收(深入理解Java虚拟机第三章)
采用根搜索算法,使用虚拟机栈帧中的本地变量表的引用对象、方法区类静态属性引用对象、方法去常量引用对象、Native方法引用对象作为GC Root,向下搜索,两次未找到则标记为垃圾数据后进行回收处理。第一次标记:标记并覆盖finalize方法,且从未调该方法的对象,放置到F-queue队列。将内存分为两部分,第一部分内存用完时,将存活对象复制到第二部分,再全部清除第一部分。每个对象增加引用计数器,引用加一,失效减一,为零判定为垃圾数据。标记过期对象,清除过期对象,将存活对象对齐,保证占用空间连续。原创 2023-01-20 15:05:21 · 787 阅读 · 0 评论 -
JVM内存区域与异常(深入理解Java虚拟机第二章)
.程序计数器保存当前线程执行的虚拟机字节码指令地址。异常:没有异常原创 2023-01-18 09:13:09 · 354 阅读 · 0 评论