会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
数小钱钱的种花兔
给我一块板砖,老子再去三八线上浪一回~
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
6
下一页
2021年1月15日
MySQL多版本并发控制——MVCC机制分析
摘要: MVCC,即多版本并发控制(Multi-Version Concurrency Control)指的是,通过版本链维护一个数据的多个版本,使得读写操作没有冲突,可保证不同事务读写、写读操作并发执行,提高系统性能。 实际上,innodb中“读已提交”和“可重复读”这两种隔离级别的事务在查询数据时访问版
阅读全文
posted @ 2021-01-15 20:07 数小钱钱的种花兔
阅读(639)
评论(0)
推荐(0)
2021年1月13日
【数据结构与算法】排序经典题总结
摘要: 1.数组中的第K个最大元素 数组中的第K个最大元素 LeetCode:数组中的第K个最大元素 题目描述: 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例: 输入: [3,2,3,1,2,4,5,5,6] 和 k =
阅读全文
posted @ 2021-01-13 20:02 数小钱钱的种花兔
阅读(354)
评论(0)
推荐(0)
2021年1月11日
B树与B+树区别辨析
摘要: 我们都知道,innodb中的索引结构使用的是B+树。B+树是一种B树的变形树,而B树又是来源于平衡二叉树。相较于平衡二叉树,B树更适合磁盘场景下文件索引系统。那为什么B树更适合磁盘场景,B+树又在B树基础上做了什么优化?抱着这些问题,本博客将深入分析B树和B+树来龙去脉,其中会涉及到二叉排序树和平衡
阅读全文
posted @ 2021-01-11 19:16 数小钱钱的种花兔
阅读(1385)
评论(0)
推荐(1)
2020年12月31日
【Redis】内部数据结构自顶向下梳理
摘要: 本博客将顺着自顶向下的思路梳理一下Redis的数据结构体系,从数据库到对象体系,再到底层数据结构。我将基于我的一个项目的代码来进行介绍:daredis。该项目中,使用Java实现了Redis中所有的数据结构,思想与Redis大致类似,各种变量的命名与Redis源码基本一致,只是将结构体换成了类来实现
阅读全文
posted @ 2020-12-31 17:22 数小钱钱的种花兔
阅读(316)
评论(0)
推荐(1)
2020年12月19日
SPI机制剖析——基于DriverManager+ServiceLoader的源码分析
摘要: 我的上一篇博客类加载器与双亲委派中提到,SPI机制是一种上级类加载器调用下级类加载器的情形,因此会打破类加载的双亲委派模型。为了深入理解其中的细节,本博客详细剖析一下SPI机制,并以JDBC为例,基于源码来进行分析。 SPI 原理介绍 SPI(Service Provider Interface),
阅读全文
posted @ 2020-12-19 23:26 数小钱钱的种花兔
阅读(627)
评论(0)
推荐(0)
2020年12月9日
【JVM】类加载器与双亲委派
摘要: 类加载器,顾名思义,即是实现类加载的功能模块,负责将Class的字节码形式加载成内存形式的Class对象。字节码文件可来源于磁盘或者jar包中的Class文件,也可以来自网络字节流。 类加载器 在JVM中,内置了三个重要的类加载器,Application classLoader,Extension
阅读全文
posted @ 2020-12-09 21:26 数小钱钱的种花兔
阅读(342)
评论(0)
推荐(0)
2020年12月6日
【JVM】类加载时机与过程
摘要: 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。下面来总结梳理类加载的五个阶段。 类加载发生在程序运行期间,会有一些性能开销,但是会提供灵活性,Java动态扩展的特性就是依赖运行时期动态加载和动
阅读全文
posted @ 2020-12-06 22:16 数小钱钱的种花兔
阅读(262)
评论(0)
推荐(0)
2020年11月13日
PriorityQueue原理分析——基于源码
摘要: 在业务场景中,处理一个任务队列,可能需要依照某种优先级顺序,这时,Java中的PriorityQueue(优先队列)便可以派上用场。优先队列的原理与堆排序密不可分,可以参考我之前的一篇博客: 堆排序总结与实现 原理 PriorityQueue中维护一个Queue[]数组,在逻辑上把它理解成一个小根堆
阅读全文
posted @ 2020-11-13 16:50 数小钱钱的种花兔
阅读(355)
评论(0)
推荐(0)
2020年11月4日
Java线程池原理及分析
摘要: 线程池是很常用的并发框架,几乎所有需要异步和并发处理任务的程序都可用到线程池。 使用线程池的好处如下: 降低资源消耗:可重复利用已创建的线程池,降低创建和销毁带来的消耗; 提高响应速度:任务到达时,可立即执行,无需等待线程创建; 提高线程的可管理性:线程池可对线程统一分配、调优和监控。 原理 线程池
阅读全文
posted @ 2020-11-04 21:47 数小钱钱的种花兔
阅读(574)
评论(0)
推荐(4)
2020年7月31日
背包问题总结梳理
摘要: 背包问题总结分析 背包问题是个很经典的动态规划问题,本博客对背包问题及其常见变种的解法和思路进行总结分析 01背包 问题介绍 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 v[i],价值是 w[i]。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容
阅读全文
posted @ 2020-07-31 19:35 数小钱钱的种花兔
阅读(577)
评论(0)
推荐(1)
1
2
3
4
5
6
下一页
公告