1:栈就是堆栈,因为堆和堆栈这样说太拗口了,搞得像绕口令,所以有些时候就把堆栈简称为栈。堆和栈,你看这又多舒服。但无论什么时候,堆栈都不等于堆和栈,必须说,堆和栈或者堆和堆栈。

2:值类型变量和引用类型变量是保存在栈里面的。而值类型变量保存值类型实例的值,引用类型变量保存引用类型实例的引用。 对象的引用是保存的指向堆中的地址的指针,堆中保存的才是对象实例

3:平时一个对象本身就包含有值类型和对象的实例,这就要分清字段和变量的概念。一般来说可以这样讲,在类里面声明的,是字段,在方法里面声明的,是变量。字段有访问修饰符(public/private/protected/internal),变量没有。

4:变量和字段的区别,字段和变量虽然用起来差不多,但实际上有很大的区别。变量永远是储存在栈里面的,字段跟随类的实例走。

5:栈是一种满足后进先出的表;堆是一种满足父节点总不大于(或不小于)子节点的树。不是一个对象实例就是一个堆(对象的成员就是一个节点),而是所有的对象实例是一个堆(一个对象只是堆中的节点)。

值类型:

int

Float

Char

double

结构

………...

引用类型:

接口

数组

字符串

1:值类型的数据存储在内存的堆栈中,从堆栈中可以快速访问这些数据,因此值类型表示实际的数据。

2:引用类型表示指向存储在内存堆中的数据的指针或引用。

3:数据释放时,值类型数据是自动释放,而引用类型的数据需要垃圾回收器来收回。

4:值类型的默认值是:0,引用类型的默认值是:null

对于值类型的类,类的实例储存在变量里面,也就是类的实例跟随变量储存在栈上。

对于引用类型的类,类的实例储存在托管堆上。

 
 
转自:https://www.cnblogs.com/xiatianoo/p/4840819.html

最新文章

  1. HANA SQLScript
  2. iOS分析UI利器——Reveal及简单破解方法
  3. 浏览器内核与js引擎
  4. 【必备】史上最全的浏览器 CSS & JS Hack 手册(转)
  5. HTML-day-1-HTML基础知识
  6. 软件工程 speedsnail 第二次冲刺6
  7. oracle11g创建数据库最后一步确定时弹出无法创建目录
  8. 一排div自由下落
  9. web2py相关-------------------------------(一)初遇
  10. 产品专家Marty Cagan:不做仅仅会编码的人
  11. 获取元素最终的background-color
  12. javascript DOM 笔记
  13. css实现垂直水平居中的5种方法
  14. SpringCloud学习之Zuul统一异常处理及回退
  15. Jenkins通过git tags进行回滚代码
  16. kali-通过获取路由器pin码套取无线网络密码shell脚本
  17. C#设计模式之10:状态模式
  18. CAS单点登录--转载
  19. c#NamedPipe命名管道通信例子
  20. Delphi各种Socket组件的模式和模型

热门文章

  1. nessus的安装
  2. 异常的Error与Exception
  3. np.Linear algebra学习
  4. 【UML】-NO.40.UML.1.UML.1.001-【UML】- uml
  5. 2019.03.25 Ajax三级联动
  6. GitHub上个最有意思的项目合集(技术清单系列)
  7. myeclipse修改了安装目录名字打不开解决方法
  8. Mysql date,datetime的区别以及相互转换
  9. !! zcl_TD 用法注释02 力攻(动能<4)
  10. Lambda表达式语法