1. SharedPointer的设计 (1)使用类模板,通过计数机制标识堆内存 (2)堆内存被指向时,refCount++ (3)指针被置空时:refCount— (4)当refCount == 0时,释放堆内存 2. 计数机制原理剖析 3. SharedPointer类的声明 4. 智能指针使用 ...
分类:
其他好文 时间:
2017-06-25 16:54:30
阅读次数:
180
1. C#数据类型分为值类型,引用类型。其中基本的数据类型比如int,double等,以及struct是值类型;而object,class,string,dynamic属于引用类型。 C#中内存分为堆栈内存(相当于C++/C中的栈内存)和托管堆内存(相当于C++/C中的堆内存),堆栈内存随着程序调用 ...
1、vector 变长一维数组,连续存放的内存块,有保留内存。堆中分配内存; 支持[]操作,高效率的随机訪问; 在最后添加元素时,一般不须要分配内存空间,速度快;在中间或開始操作元素时要进行内存拷贝效率低; vector高效的原因在于配置了比其所容纳的元素很多其它的内存,内存又一次配置会花非常多时间 ...
分类:
其他好文 时间:
2017-06-15 14:15:30
阅读次数:
113
一.基本类型(传值后两者不互相影响) 5种:Undefined、Boolean、Null、Number、String 基本类型的赋值是传递该值得副本。两者可以参与任何操作而不受影响。 二.引用类型(传值后两者会互相影响) 指可由多个值构成的对象 变量为引用类型的变量,其存储的是指向存在内存(堆)中的 ...
分类:
编程语言 时间:
2017-06-11 19:11:16
阅读次数:
224
--reference Java Heap Memory vs Stack Memory Difference 在数据结构中,堆和栈可以说是两种最基础的数据结构,而Java中的栈内存空间和堆内存空间有什么异同,以及和数据结构中的堆栈有何关系? 一、Java 堆存储空间 堆内存(堆存储空间)会在Jav ...
分类:
编程语言 时间:
2017-05-29 09:54:39
阅读次数:
173
数据类型 1. ECMAScript变量包含两种不同类型的值:基本类型值、引用类型值; 2. 基本类型值:指的是保存在栈内存中的简单数据段; 3. 引用类型值:指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针指向内存堆中实际的值; 回到目录 两种访问方式 4. 基本类 ...
分类:
Web程序 时间:
2017-05-24 16:11:02
阅读次数:
222
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Objet o ...
分类:
编程语言 时间:
2017-05-06 17:54:19
阅读次数:
138
第一部分 1. 请简述值类型与引用类型的区别答:区别:1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。2.值类型存取快,引用类型存取慢。3.值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针和引用。4.栈的内存是自动释放的,堆内存是.NET中会由 ...
分类:
编程语言 时间:
2017-05-06 13:07:57
阅读次数:
538
从大方向来分:栈内存,堆内存,方法区,本地方法栈,程序计数器java从存储数据的角度来分:寄存器(register):最快的存储区,由编译器根据需求进行分配,不由认为控制.堆栈(statck):存放基本数据类型和引用别名堆(heep):new出来的东西静态存储(static storage):存放静 ...
分类:
编程语言 时间:
2017-04-25 18:30:36
阅读次数:
188
内存: 堆区,栈区,常量区,计数区,代码区; 数据类型: 基本数据类型:整形,浮点型,布尔型 boolean 只能返回真假值,字符型; 引用数据类型:类,数组; 基本数据类型——》直接存放到栈区; 引用数据类型——》将引用放到栈区,将内容放到堆区; 全栈工程师:全都会,最牛逼; 数组声明: int ...
分类:
编程语言 时间:
2017-04-24 12:38:06
阅读次数:
226