一、动态数组 【new的局限性】 new将内存分配和对象构造组合在一起,同样delete将对象析构和内存释放组合在一起 我们分配单个对象时,通常希望将内存分配和对象初始化组合在一起(我们知道对象应有什么值),但分配一大块内存时,我们往往计划在这块内存上按需构造对象→将内存分配和对象构造分离,即我们可 ...
分类:
其他好文 时间:
2017-10-29 20:22:48
阅读次数:
176
x、y、‘函数名’相当于门牌号(内存地址)当x、y都停止指向123时,123对应的内存被清空释放回收匿名函数没有门牌号,对应内存将被即刻回收 ...
分类:
编程语言 时间:
2017-10-28 13:48:22
阅读次数:
288
一、nil 、NSNull、Nil、NULL 区别 1、nil我们给对象赋值时一般会使用object = nil,表示我想把这个对象释放掉;或者对象由于某种原因,经过多次release,于是对象引用计数器为0了,系统将这块内存释放掉,这个时候这个对象为nil,我称它为“空对象”。(注意:我这里强调的 ...
分类:
移动开发 时间:
2017-10-10 14:41:13
阅读次数:
297
在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态: 这里的默认显示单位是kb,我的服务器是128G内存,所以数字显得比较大。这个命令几乎是每一个使用过Linux的人必会的命令,但越是这样的命令,似乎真正明白的人越少 ...
分类:
系统相关 时间:
2017-10-05 18:27:17
阅读次数:
176
Mac设置允许任何来源软件运行 sudo spctl --master-disable 终端中打开文件或目录 open Terminal所在位置打开finder open test.txt 打开当前路径下的test.txt文件 历史命令 history 查看历史命令 history -c 删除历史命 ...
分类:
系统相关 时间:
2017-09-29 16:41:33
阅读次数:
210
练习13.45 右值引用:使用&&,他是必须绑定到右值的引用,右值短暂,要么是字面常量,要么是表达式求职过程中的创建的临时对象;不能将一个右值引用绑定到一个右值引用类型的变量上; 练习13.46 练习13.47 该题的代码存在内存释放的问题,请大家指正 练习13.48 上一题的问题已解决,可能是编译 ...
分类:
编程语言 时间:
2017-09-05 17:00:03
阅读次数:
185
前提准备:利用sql筛选出每个球出现概率最高的前5个数 原理:先爬出所有的历史数据,然后模拟摇奖机出球的机制并大量模拟计算,直到出现列表中的某一个数后即停 注意事项:由于计算过程数据量很大,需要加入内存释放的操作 成果:目前博主最好记录是中了3红1蓝,适合学习交流使用,信则有 ...
分类:
编程语言 时间:
2017-09-05 15:46:27
阅读次数:
291
在swift中,每一个对象都有生命周期,当生命周期结束会调用deinit()函数进行释放内存空间。 观察这一段代码: 这段代码创建了两个类,分别是Person类和Pet类,每个类中都有init方法进行创建对象和deinit方法来释放内存空间,其中Person类中有两个init方法,分别对应着是否包含 ...
分类:
编程语言 时间:
2017-09-05 01:35:01
阅读次数:
120
1. GC是什么? GC(Gabage Collection):java的垃圾回收机制的根本目的就是跟踪正在使用的对象,然后回收那些不再使用(引用)的对象。java的GC回收机制有两个好处: (1) 避免垃圾过多导致的内存耗尽 (2) 避免不恰当的内存释放导致的内存非法引用 GC主要是对JVM中的堆 ...
分类:
编程语言 时间:
2017-08-30 23:47:35
阅读次数:
325
/* main.m 堆里面的内存释放是根据引用计数器,所以就是操作引用计数器。 创建一个对象,对象里面就有一个引用计数器,有多少指针指向它。 引用计数器为0就释放。任何一个对象初始化时就是1,所以 { Person *p = [[Person alloc] init] } 出了这行代码p销毁了,但是... ...
分类:
其他好文 时间:
2017-08-23 17:39:05
阅读次数:
187