VB编程.net的6个重要概念:栈,堆,值类型,引用
时间:2011-04-09 来源:青青啊
本篇文章主要引见中6个重要的概念:栈, 值类型, 引用类型, 装箱, 拆箱。 文章开始引见当你声明一个变量时, 编译器外部发生了什么, 并说明一些有关它们的重要原理。 在顺序中, 这块内存分为三局部:1, 变量值。 中有两种类型的内存:栈内存和堆内存。 在接上去的内容中, 这里一共有3行代码。 运转时栈负责提供顺序所需的内存; 第2行:顺序继续执行。 如同名字一样, 你也可以以为是模块或零件一块一块叠起来; 内存的分配与释放遵照后进先出(后进先出)逻辑, 第3行:在第3行, 当该行执行时, 编译器在站上创建了一个指针, 真实的对象存储在另一种叫堆的内存中。 "堆"并不跟踪运转内存, 它更像一堆随时可以访问的对象。 这里需要着重说明的是引用指针是分配在栈上。 声明class1cls1时并不会给class1的实例分配内存, 然后把它指向堆。 它释放了栈上所有内存变量。 换句话说, 此时不会释放堆内存, 这种内存稍后会被垃圾搜集器释放。 VB编程现在可能会有很多同学奇异为什么要分配2种内存, 他们值包含复杂的值, 对象数据类型很复杂, 换句话说, 对象类型需要静态内存而基本类型需要静态内存。 如果需要分配静态内存, 那么就分配到堆上;反之在栈上。
相关阅读 更多 +