- 博客(11)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 char、short、long、double占几个字节,32位机中
char占1字节,short占 2 字节,int 、float、long 都占 4 字节,double 占8 字节指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节发现一个问题,以下代码是在win10 64位系统下跑的,理应来说int占8个字节,后来我想错了;我建立的工程是win32控制台应用,意味着编译器就是32位的--“...
2016-09-12 22:51:35
35283
2
原创 前序
文章目录前序中序冒泡快排直插前序vector<int> preorder_search(TreeNode* root){ if (root == NULL) return res; TreeNod *node = root; stack<TreeNode*> s; while(node!=nullptr||!s.empty()) { while(node...
2020-04-25 09:49:55
354
原创 内存
Linux虚拟地址空间为了防止不同进程同一时刻在物理内存中运行而对物理内存的争夺和践踏,采用了虚拟内存。虚拟内存技术使得不同进程在运行过程中,它所看到的是自己独自占有了当前系统的4G内存。所有进程共享同一物理内存,每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上。 事实上,在每个进程创建加载时,内核只是为进程“创建”了虚拟内存的布局,具体就是初始化进程控制表中内存相关的链表,实际上...
2020-04-16 22:01:25
317
原创 数据库
数据库索引实现原理 在数据之外,数据库系统还维护着满足特定查找算法的排序的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 索引的实现通常使用「平衡树」(非二叉),如B树及其变种B+树。(有的数据库也使用哈希桶作用索引的数据结构)1.索引的代价创建索引和维护索引要耗费时间索引需要占物理空间,除了数据表占数据...
2020-04-16 17:13:54
412
原创 网络
网络层MTU,跟着扩展到网络层分片tcp0.tcp的小知识当T C P发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,超时重传IP报文可能是失序的,所以TCP收到的报文段也可能失序,但是TCP会对数据进行重新排序,以正确顺序交给应用层tcp不对传输内容进行区分,单纯传输字节流1.tcp三次握手SYN=1 seq=x ----->&...
2020-04-16 17:11:54
1110
原创 锁
linux四种锁机制互斥锁mutex、读写锁、自旋锁、RCU(read-copy-update)锁1.互斥锁保证在任何时刻,都只能有一个线程访问该对象当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒当锁被释放时,所有处于waiting睡眠状态的线程被唤醒,处于就绪状态,第一个得到CPU调度的线程获得锁2.自旋锁任何时刻只能有一个线程访问对象获取锁操作失败时,不会进入睡眠...
2020-04-16 17:11:22
2243
原创 进程线程
进程1.概念进程是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体进程由程序、数据集合、进程控制块PCB组成2.PCBPCB是OS为了系统的描述和管理进程的运行,在内核中为每个进程专门定义的一个数据结构。PCB是OS感知和调度进程的唯一handle存储的信息包括:进程标识符(外部标识符方便创建者识别、内部标识符pid方便OS识别)CPU上下文(寄存器内容、用户栈指...
2020-04-16 17:10:23
422
原创 多路复用
5种IO模型阻塞IO 调用者调用某个函数,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作非阻塞IO 非阻塞等待,每隔一段时间就去检测IO事件是否就绪。没有就绪就可以做其他事信号驱动IOlinux用套接口进行信号驱动IO,安装一个信号处理函数,进程继续运行并不阻塞,当IO时间就绪,进程收到SIGIO信号。然后处理IO事件(将数据从内核态复制到用户态,...
2020-04-16 17:09:48
214
原创 Linux
三剑客grep(global regular expressions print)grep命令能够在一个或多个文件中,搜索某一特定的字符模式,包含指定字符模式的每一行内容,都会被打印(显示)到屏幕上搜索多个文件,grep 命令的搜索结果只显示文件中发现匹配模式的文件名grep [选项] 模式 文件名[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mjGLpP...
2020-04-16 17:02:25
224
原创 C++
低到高的内存地址增长程序代码区、常量区、全局数据区(全局变量、静态变量)(已初始化、未初始化(不占可执行文件内存布局))、堆(向上增长)、动态链接库、栈(向下增长)C++类对象内存模型编译器将成员变量和成员函数分开存储,分别为每个对象的成员变量分配内存,但是所有对象都共享同一段函数代码。对象的大小只受成员变量的影响。泛型技术1.多态使用父类型别的指针指向其子类的实例,通过父类的指针调...
2020-04-16 17:01:53
674
原创 剑指offer笔记
文章目录01赋值运算符函数02单例模式03找一维数组04二维数组查找05替换字符串的空格06从尾开始输出单向链表07前序和中序构建二叉树08找出中序遍历的下一个节点09两个栈实现队列09队列如何实现栈10斐波那契数列11partition函数11快速排序11数字限定在较小范围内的0(n)方法排序11旋转数组的最小数字12矩阵中的路径13机器人的运动范围14动态规划14贪婪算法14剪绳子15.位运算...
2020-04-07 18:25:31
560
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人