泄漏:就是内存申请后,用完没有释放,造成可用内存越来越少。溢出:指用户实际的数据长度超过了申请的内存空间大小,导致覆盖了其他正常数据,容易造成程序异常,严重的,攻击者可以以此获取程序控制权。 溢出:你打开画本,画啊画,画满了,就画到桌子上了泄漏:你打开画本,画一页又一页,突然发现有一页被人画过了 ...
分类:
其他好文 时间:
2020-03-27 10:43:10
阅读次数:
68
归并排序(Merge Sort) 和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典 ...
分类:
编程语言 时间:
2020-03-26 16:28:37
阅读次数:
93
函数 定义函数时申请内存空间保存函数体代码,将上述内存地址绑定函数名。定义函数时不会执行函数整体代码,但是会检测函数语法。 调用函数时通过函数名找到函数的内存地址,然后触发函数体代码的执行。 无参函数:def func(): 有参函数: def jisuan(x,y): print(x+y) pri ...
分类:
其他好文 时间:
2020-03-25 23:29:03
阅读次数:
67
算法复杂度分为时间复杂度和空间复杂度。 其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。 (算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)。 简单来说, 时间 ...
分类:
编程语言 时间:
2020-03-23 20:15:53
阅读次数:
78
“堆”和“栈”并不是数据结构上的Heap跟Stack,而是程序运行中的不同内存空间。 那么这就简单了,栈是程序启动的时候,系统分好了给你的,你自己用,系统不干预。 堆是用的时候才向系统申请的,用完了还回去,这个申请和交还的过程开销相对就比较大了。 栈与堆都是Java用来在Ram中存放数据的地方。 栈 ...
分类:
其他好文 时间:
2020-03-23 15:20:44
阅读次数:
80
1. Go语言中的值类型和引用类型 值类型:int,float,bool,string,struct和数组 (数组要特别注意,别搞混了) 变量直接存储值,分配栈区的内存空间,这些变量所占据的空间在函数被调用完后会自动释放。 引用类型:slice,map,chan和值类型对应的指针 变量存储的是一个地 ...
分类:
编程语言 时间:
2020-03-21 17:49:07
阅读次数:
157
1、内存泄漏memory leak : 是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。 2、内存溢出 out of memory : 指程序申请内存时,没有足够的内存供申请者使用,或者说,给了你一块存储int类型数据的存储空间,但 ...
分类:
编程语言 时间:
2020-03-18 23:47:08
阅读次数:
63
realloc(void *__ptr, size_t __size) :更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。 如果将分配的内存减少,realloc仅仅是改变索引的信息。 如果是将分配的内存扩大,则有以下情况:1)如果当前内存段后面有需要的内存空间,则直接扩展这 ...
分类:
其他好文 时间:
2020-03-18 22:03:18
阅读次数:
84
小程序开发前准备 小程序是微信生态的一部分,它提供了一种更加 方便和高效 的用户交互方式 小程序的优点 用户使用的便捷性 远好于公众号和H5页面的体验 相对来说手机内存空间小 一端开发,多端运行(iOS端、Android端) 小程序开发主要分成三个部分 开发前准备 申请AppID(测试AppID有些 ...
分类:
微信 时间:
2020-03-17 19:15:57
阅读次数:
81
inline关键字 作用:避免频繁调用函数对栈内存重复开辟所带来的消耗。 在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。 在系统下,栈空间是有限的,假 ...
分类:
编程语言 时间:
2020-03-17 08:09:01
阅读次数:
63