1. 什么是 “垃圾” ? x = 1 //把 “1” 这个值赋给 “x”,在计算机中,先是定义了一个变量x,然后在内存里面开辟了一块内存空间,用来存放x的值,也就是1,这个时候,x和1是绑定的。 这种绑定关系,叫做 “引用计数” 。,这时候,“1”的引用计数就是1. 如果在这个时候,再一次给x赋值 ...
分类:
其他好文 时间:
2020-05-15 19:55:19
阅读次数:
54
1.友元 1.1可以访问所有成员(公有,私有) 2.1友元不是类的成员,也不受它所在区域访问控制级别的约束 2.2普通函数,类的成员函数,整个类都可以声明为友元 2.3友元破坏了封装性,不到万不得已不要用 2.4运算符重载时适合用友元 class HasPtr;//前向声明 class Test { ...
分类:
其他好文 时间:
2020-05-15 09:42:38
阅读次数:
62
1|0如何确定垃圾 想要回收垃圾,必须得先知道,哪些对象可以被认定为垃圾。关于垃圾确定方式,主要有两种,分别是引用计数法与可访问性分析法,其原理分别如下: 1|1引用计数法 在 Java 中,引用与对象相关联,如果要操作对象,则必须使用引用。因此,可以通过引用计数来确定对象是否可以回收。实现原则是, ...
分类:
编程语言 时间:
2020-05-15 09:25:26
阅读次数:
85
1、shared_ptr 1、shared_ptr多个指针指向相同的对象。shared_ptr使用引用计数,每个shared_ptr的拷贝 都指向相同的能存。每次使用它一次,该对象内部的引用计数加1,指向该对象的shared_ptr指针 每减少一个,该对象内部的引用计数就减1,当引用计数为0时,就自 ...
分类:
其他好文 时间:
2020-05-12 09:42:26
阅读次数:
78
1、CCToggleVisibility对当前的action动作的精灵对象进行取反的visible设置 CCActionInterval* move1 = CCMoveBy::create(1, ccp(250,0)); CCActionInterval* move2 = CCMoveBy::cre ...
分类:
其他好文 时间:
2020-05-10 14:40:33
阅读次数:
65
学习内容 1. iOS的内存管理和引用计数规则 内存管理的思考方式 自己生成的对象自己持有 非自己生成的对象自己也能持有 自己持有的对象不需要时释放 非自己持有的对象不能释放 ARC有效时,id类型和对象类型必须加上所有权修饰符,一共有四种 __strong id和对象类型如果不加所有权修饰符那么默 ...
分类:
移动开发 时间:
2020-05-10 01:30:36
阅读次数:
93
一:JVM运行时内存 1.1:如何判断一个对象生存状态 1.1.1:引用计数法 在其内部维护着一个计数器,当只要还有对象引用当前对象,计数器就加1,如果不为0,就证明该对象依然存活,如果为0,则证明没有对象引用该对象,那么该对象就是已经死了。但是会存在问题是存在互相引用,但是又是垃圾的对象的情况 1 ...
分类:
其他好文 时间:
2020-05-05 09:13:36
阅读次数:
70
Python内存管理机制:引入计数器, 计数器: 每个对象都有指向该对象的引用总计数。 赋值引用:查看对象的引用计数:sys.getrefcount() 引用计数增加: 1、对象被创建,2、另外的别人被创建,3、作为容器对象的一个元素,4被作为参数传递给函数:foo(x) 引用计数减少: 1、对象的 ...
分类:
编程语言 时间:
2020-05-02 15:19:31
阅读次数:
70
GIL,中文译为全局解释器锁。在讲解 GIL 之前,首先通过一个例子来直观感受一下 GIL 在 Python 多线程程序运行的影响。首先运行如下程序: import time start = time.clock() def CountDown(n): while n > 0: n -= 1 Cou ...
分类:
其他好文 时间:
2020-05-02 00:17:20
阅读次数:
107