- 博客(6)
- 收藏
- 关注
原创 MySQL5.7源码在MacOS上的编译运行
本文是进行一次尝试,目标是在MacOS操作系统上完成一次MySQL源码的编译、运行说是尝试,是因为网上所有教程几乎都是基于Linux操作系统的,虽说这二者都是Unix系列,但C源码编译安装涉及到许多依赖库,细节上有区别,不完全等价我参考的教程有BILIBILI:怎样从源码安装MySQL数据库,这是一篇讲的比较简单的视频教程,其中有博客地址:Apache服务器基础教程-03从源码安装MySQLBILIBILI:MySQL源码包安装方式,这一篇教程对CMake参数讲的比较细致,应该是付费教程的一部分免
2021-09-06 22:01:21 796
原创 图论法求解经典面试题:NxN匹马,N个赛道,求最快前M匹马,至少需要几次比赛?
相信不少朋友都听说过这道经典面试题NxN匹马,每匹马速度恒定且均不同,有N个赛道,每次比赛一次就可以知道这N个赛道的每匹马,那匹快、那匹慢,请问我要求最快的前M匹马,至少需要进行几次比赛?(不允许记录每匹马的速度,只能通过多次比较来确认)具体来说,N,M有以下几种常见的情况N=4,M=4,即16匹马,4个赛道,求前4名,最少进行几次比赛?N=5,M=5,即25匹马,5个赛道,求前5名,最少进行几次比赛?N=8,M=4,即64匹马,8个赛道,求前4名,最少进行几次比赛?N=9,M=4,即81
2021-01-24 00:14:11 1899 2
原创 Java Scanner IO等待时,是什么线程状态?
今天我们来思考一个问题,对于下面这段代码1,想必大家一定很熟悉的,在执行到 scanner.next(); 时,程序会等待控制台进行输入,当输入了数据后,会对应有输出,那么问题是,scanner.next() 时,线程处于什么状态呢?import java.util.Scanner;public class ScannerExample { public static void main(String[] args) { Scanner scanner = new Scann
2021-01-21 21:59:37 1036 3
原创 通过.ibd文件浅析InnoDB中一张表的主键索引B+树结构
定义三个问题解决问题一py_innodb_page_info工具hexdump核对解决问题二解决问题三小结定义引用自《MySQL技术内幕:InnoDB存储引擎》第5.4.1节InnoDB存储引擎表示索引组织表,即表中数据按照主键顺序存放。而聚集索引就是按照每张表的主键构造一棵B+树,同时叶子节点中存放的即为整张表的行记录数据,也将聚集索引的叶子节点称为数据页。聚集索引的这个特性决定了索引组织表中数据也是索引的一部分。同B+数据结构一样,每个数据页都通过一个双向链表来进行链接。由于实.
2020-12-24 21:42:43 2237 2
原创 斗地主不算花色算大小王,起初发到的17张牌有多少种?
用动态规划算法来求,设dp[j]表示选了j张牌的种类数。起初dp[j]=0(j>0),dp[0]=1。第一层枚举牌的种类A−K,第二层倒着枚举当前选了j张(1=<j<=17),第三层dp[j]由dp[j−k]更新而来(1=<k<=4,j−k>=0)。如果大小王都不在,则有dp[17]种;如果大小王只有一个,则有dp[16]种;如果大小王都在,则有dp[15]种。所以...
2015-02-21 14:04:58 4962 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人