数据类型
  Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的
值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象
本身存放在这个引用值所表示的地址的位置。

  基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress
  引用类型包括:类类型接口类型数组

栈是运行时的单位,而堆是存储的单位

 栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;堆解决的是数据存储的问题,即数据怎么放、放在哪儿。

堆中存什么?栈中存什么?


堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用。一个对象的大小是不可估计的,或者说是可
以动态变化的,但是在栈中,一个对象只对应了一个4btye的引用(堆栈分离的好处:))。
为什么不把基本类型放堆中呢?因为其占用的空间一般是1~8个字节——需要空间比较少,而且因为是基本
类型,所以不会出现动态增长的情况——长度固定,因此栈中存储就够了,如果把他存在堆中是没有什么意义
的(还会浪费空间,后面说明)。可以这么说,基本类型和对象的引用都是存放在栈中,而且都是几个字节的
一个数,因此在程序运行时,他们的处理方式是统一的。但是基本类型、对象引用和对象本身就有所区别了,
因为一个是栈中的数据一个是堆中的数据。最常见的一个问题就是,Java中参数传递时的问题。

最新文章

  1. Linux Socket编程
  2. Mysql的“Limit”操作
  3. TYVJ P1098 任务安排 Label:倒推dp 不懂
  4. windows下 mysql忘记密码怎么办
  5. mydbtest文档
  6. 酒鬼-DP
  7. SQL把做个字段组合成一个字符串
  8. php date('Y')
  9. MFC发送自定义消息-PostMessage和SendMessage
  10. c++primerplus(第六版)编程题——第4章(复合类型)
  11. [转] add-apt-repository
  12. Linux Makefile自动生成--config.h
  13. linux线程之pthread_join
  14. ant语法和规范
  15. JUnit4 与 JMock 之双剑合璧
  16. win10 uwp 反射
  17. kubernets controller 和 CRD 具体组件分析
  18. HP-JavaUtil: xls 操作类
  19. 通过HTTP服务访问FTP服务器文件(配置nginx+ftp服务器)
  20. python全栈开发day78、79 --bss项目

热门文章

  1. 学习Acegi应用到实际项目中(12)- Run-As认证服务
  2. git操作之git clean删除一些没有git add的文件
  3. 手写简单PE
  4. PAT DFS,BFS,Dijkstra 题号
  5. Apache启动不成功时,用命令行检测(新手)
  6. Appium日志乱码终结指北
  7. Djangoの1
  8. 逆向暴力求解 538.D Weird Chess
  9. Hbase的常见shell操作
  10. Android插件化的兼容性(中):Android P的适配