- 博客(9)
- 收藏
- 关注
原创 MySQL笔记
联合索引指的是对一张表上的多个列进行索引。也就是说,表上多个列加起来组成一个索引,供快速查询使用。从本质上说,联合索引还是一个B+树,不过联合索引的键值数量不是1, 而是大于等于2.联合索引的一个优势:当两个列的组合是唯一值时,联合索引是个不错的选择。联合索引的另一个好处就是可以对第二个键值进行排序,例如,在很多时候我们需要查询某个用户的购物情况,并按照时间排序。这时使用联合索引(userid,buy_date)可以减少一次排序操作,因为这个索引本身在叶子节点上已经排序了。最佳左前缀法则。
2024-09-08 17:14:43
3581
原创 Redis笔记
,意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。》不遵循SQL标准。》不支持ACID。》远超于SQL的性能。NoSQL适用场景》 对数据高并发的读写》海量数据的读写》 对数据高可扩展性的Redis是一个开源的key-value存储系统。
2024-09-08 17:13:17
3140
原创 设计模式笔记
/代码实例(线程安全) //.h文件public:private:private://类外定义-不要忘记写//函数调用 实现简单,多线程安全a. 如果存在多个单例对象且这几个单例对象相互依赖,可能会出现程序崩溃的危险。原因:对编译器来说,静态成员变量的初始化顺序和析构顺序是一个未定义的行为;具体分析在懒汉模式中也讲到了。b. 在程序开始时,就创建类的实例,如果Singleton对象产生很昂贵,而本身有很少使用,这种方式单从资源利用效率的角度来讲,比懒汉式单例类稍差些。
2024-09-08 17:11:40
1338
原创 计算机网络笔记
TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。面向连接:一定是「一对一」才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的;可靠的:无论的网络链路中出现了怎样的链路变化,TCP 都可以保证一个报文一定能够到达接收端;字节流:消息是「没有边界」的,所以无论我们消息有多大都可以进行传输。并且消息是「有序的」,当「前一个」消息没有收到的时候,即使它先收到了后面的字节,那么也不能扔给应用层去处理,同时对「重复」的报文会自动丢弃。
2024-09-08 17:10:06
3143
原创 LeetCode算法笔记
1、用集合中的某个元素来代表这个集合,则该元素称为此集合的代表元;2 、一个集合内的所有元素组织成以代表元为根的树形结构;3 、对于每一个元素 x,pre[x] 存放 x 在树形结构中的父亲节点(如果 x 是根节点,则令pre[x] = x);4 、对于查找操作,假设需要确定 x 所在的的集合,也就是确定集合的代表元。可以沿着pre[x]不断在树形结构中向上移动,直到到达根节点。
2024-09-08 17:04:07
1549
原创 面试问题记录
B+树是B-树的变体,也是一种多路搜索树, 它与 B- 树的不同之处在于:所有关键字存储在叶子节点出现,内部节点(非叶子节点) 并不存储真正的 data为所有叶子结点增加了一个链指针因为内节点并不存储 data,所以一般B+树的叶节点和内节点大小不同,而B树的每个节点大小一般是相同的,为一页。为了增加区间访问性,一般会对B+树做一些优化。IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。IP协议是TCP/IP协议族的基石,它为上层提供无状态、无连接、不可靠的服务。
2024-09-08 16:30:09
2224
原创 Linux指令
任务调度是指系统在某个时间执行的特定的命令或者程序。at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。默认情况下,atd守护进程每60秒检查一次作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。在使用at命令时,一定要保证atd进程的启动,可以使用相关指令来查看。该命令可以检测atd是否在运行。(1):hh:mm时间指定,加入时间已经过去,则在第二天生效。
2024-09-08 16:19:03
1934
原创 静态库和动态库制作及使用
静态库在链接时直接将库导入程序,而动态库则是将库调入内存,什么时候用什么时候调。静态库用在对空间要求较低,对时间要求较高的核心程序中,如操作系统开机例程。gcc test.c -o test.out lib库名.a 【库所在目录(默认为当前目录)】1、将要制作静态库的.c文件生成.o文件 gcc -c add.c -o add.o。-l (小写的L):要链接哪个动态库,写库名(即add)-L(库Lib):告诉编译器在哪里找库文件。3、将.o文件生成动态库。-c,创建静态库文件。-s,充值静态库索引。
2024-09-08 16:14:44
348
原创 gcc编译原理与gdb调试工具
指令 说明break 设置软件断点tbreak 设置一次有效软件断点rbreak 后跟参数,和参数匹配的所有函数上设置断点info breakpoints 查看断点delete 删除断点enable 使能断点disable 使断点无效hbreak 设置硬断点thbreak 设置一次有效硬断点watch 设置数据断点catch 设置事件断点。在嵌入式系统中,如果想调试的程序不是位于内存中,而是位于像闪存这样的存储器中,此时就无法使用软件程序断点了,因为闪存中的内容并不像内存那样方便更改。
2024-09-08 16:13:12
946
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人