掘友等级
获得徽章 0
用RegisterDataBase()函数,第一个参数为数据库别名,也可以理解为数据库的key值,**项目中必须有且只能有一个别名为`default`的连接**,第二个参数是数据库驱动,这里我们用的是MySQL数据库,所以以MySQL驱动为例,第三个参数是连接字符串,和传统操作数据库连接字符串一样,格式为:用户名:密码@tcp(ip:port)/数据库名称?编码方式
* 用高级语言编写的程序可以在很多不同的机器上编译和执行,而汇编代码则是与特定机器密切相关的。
* 相对于C代码表示的计算操作,优化编译器能够重新排列执行顺序,消除不必要的计算,用快速操作替换慢速操作,甚至将递归计算变换成迭代计算。
电脑开机时的流程
1. CS、IP指针为固定值0xffff,0x0000,寻址为固定值0xffff0(CS左移四位+IP)
2. 找到ROM BIOS(base input output system)映射区
3. 检查RAM,键盘,显示器,软硬磁盘
执行指令时访问数据所需的周期数:
1. CPU寄存器:0个周期
2. L1~L3高速缓存:4~75个周期
3. 主存:上百个周期
4. 磁盘:几千万个周期
* 程序计数器(通常称为"PC",在x86-64中用%rip表示)给出将要执行的下一条指令在内存中的地址。
* 整数寄存器文件包含16个命名的位置,分别存储64位的值。这些寄存器可以存储地址(对应于C语言的指针)或整数数据。有的寄存器被用来记录某些重要的程序状态,而其他的寄存器用来保存临时数据,例如过程的参数和局部变量,以及函数的返回值。
自增主键的插入数据模式,正符合了我们前面提到的递增插入的场景。每次插入一条新记录,都是追加操作,都不涉及到挪动其他记录,也不会触发叶子节点的分裂。
* 编译器提供类型检查
* 通常情况下,使用现代的优化编译器产生的代码至少与一个熟练的汇编语言程序员手工编写的代码一样有效。
* 用高级语言编写的程序可以在很多不同的机器上编译和执行,而汇编代码则是与特定机器密切相关的。
* 相对于C代码表示的计算操作,优化编译器能够重新排列执行顺序,消除不必要的计算,用快速操作替换慢速操作,甚至将递归计算变换成迭代计算。
找每个数左边第一个比它小的元素,所以是单调递增栈
如果求左边第一个比它大的元素,stk[tt]>=x改成<,仅此
每个元素入栈时必须保证它是栈中最大的元素,栈中不能有元素比它更大
所以删除之前单调栈栈顶元素的循环条件是栈非空并且栈顶元素大于等于它
* CPU的内部由寄存器、控制器、运算器和时钟四个部分构成
* 寄存器可用来暂存指令、数据等处理对象,可以将其看作是内存的一种
* 控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机。
* 运算器负责运算从内存读入寄存器的数据。
* 时钟负责发出 CPU 开始计时的时钟信号
对于不同编译单元的non local static对象的初始化顺序是未定义的
所谓编译单元是指产出单一目标文件的那些源码。基本上它是单一源码文件加上其所含入得头文件。
static对象,其寿命从被构造出来知道程序结束为止。
non-local,指的是对象位于global或位于namespace作用于,抑或是class内或file作用于内被声明为static
下一页