杂项
文章平均质量分 63
凤 曦
这个作者很懒,什么都没留下…
展开
-
八种设计架构演进
(图太长了,不太会截,这里分开截,内容是连续的)下面就有了微服务,微服务并没有解决运维任务量大的问题,微服务只是。原创 2024-09-21 16:34:06 · 1059 阅读 · 0 评论 -
python区别小记
Python没有主函数,需要自创函数时直接调用就行。原创 2023-11-30 20:17:57 · 815 阅读 · 0 评论 -
用数组实现大小堆
堆的定义:因为堆的底层是数组所以定义一个数组的结构体,且看似一个顺序表,但本质上并不是顺序表,因为逻辑结构是一个完全二叉树,所以插入的要求要完全按照完全二叉树的要求来看,这里就需要用到之前完全二叉树存储到数组中后,父节点和子节点再数组中的下标关系。注意:size是表示结点的个数,而不是数组的下标,结点的个数始终是比数组的下标大1 ,所以之后的插入操作中 size 是表示需要插入的位置下标。堆的插入: 堆的插入和删除本质上是需要对堆的状态进行一种保持,例如,再插入前是小堆类型,那么插入后就原创 2023-11-25 22:34:05 · 895 阅读 · 0 评论 -
HTML前端小记
3.img标签(图片):scr属性--须写来显示图片;title属性--提示文本,当鼠标放到图片上时,就会显示title包含的文本;2.格式化标签:/--加粗字体,/--倾斜字体,/--加删除线,/--加下划线。1.换行标签直接换一行,段落标签换一行加空一行(相当于2个换行标签)。4.a标签(超链接):href属性--包含跳转链接,格式为原创 2023-11-25 21:54:11 · 372 阅读 · 0 评论 -
c语言中函数局部变量空间释放的理解
函数调用过程中,一个函数在调用另外一个函数的时候,会先将调用前的现场信息保存在系统堆栈中,然后按照从又向左的顺序(c语言)将实参的结果入栈,而被调用的函数的形参,用的就是实参的空间,当被调用的函数运行结束后,局部变量的空间被“释放”的本质,其实是栈顶的指针,移动到了调用前函数的现场信息的地方,所以刚才被调用的函数的局部变量,实际上它的值还是存放在内存中,并且在当前栈顶指针的上面的连续空间中。这个问题在初学c语言的时间困惑了我很长的时间,直到我学习了数据结构,学到系统堆栈那一部分才得到了解答。转载 2023-11-20 17:23:54 · 779 阅读 · 1 评论 -
为什么栈比堆快
而堆是运行时动态申请的,相当于将分配内存的耗时由编译阶段转嫁到了机器运行阶段,将分配过程从编译器搬到了运行的代码中。(栈是编译时分配空间,而堆是动态分配(运行时分配空间),所以栈的申请速度快)这里说的 “堆” 和 “栈”,并不是数据结构上的Heap跟Stack,而是程序运行中的不同内存空间。存储寻址速度快:栈的物理地址空间是连续的,而堆未必,查找堆的链表也会耗费较多时间,所以存储寻址速度慢。CPU硬件操作速度快:cpu有专门的寄存器(esp,ebp)来操作栈,堆是使用间接寻址的,所以栈快。原创 2023-11-11 20:58:05 · 245 阅读 · 1 评论 -
栈和堆区别
栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进栈,然后函数的各个参数进栈,其中静态变量是不入栈的。而堆一般是在头部用一个字节存放堆的大小,堆中的具体内容是人为安排;栈(操作系统):由操作系统(编译器)自动分配释放 ,存放函数的参数值,局部变量的值等。堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。栈使用的是一级缓存, 它们通常都是被调用时处于存储空间中,调用完毕立即释放。1、申请方式的不同。栈是连续的空间,而堆是不连续的空间。原创 2023-11-11 20:51:43 · 62 阅读 · 0 评论 -
局部,全局,静态变量
3).如果外部变量在文件开头定义,则在整个文件范围内都可以使用该外部变量,如果不再文件开头定义,按上面规定作用范围只限于定义点到文件终了.如果在定义点之前的函数想引用该外部变量,则应该在该函数中用关键字extern作外部变量说明.这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的.而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。另外,属于静态存储方式的量不一定就是静态变量。原创 2023-11-11 19:34:11 · 52 阅读 · 1 评论