java 的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,
会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法
结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。
堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,使用 new
创建的对象都放在堆里,所以,它不会随方法的结束而消失。 方法中的局部变量使用 final
修饰后,放在堆中,而不是栈中。
 
区别:
1.heap是堆,stack是栈。

2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。

3.stack空间有限,heap的空间是很大的自由区。

在Java中,

若只是声明一个对象,则先在栈内存中为其分配地址空间,

若再new一下,实例化它,则在堆内存中为其分配地址。

4.举例:

数据类型 变量名;这样定义的东西在栈区。

如:Object a =null; 只在栈内存中分配空间

new 数据类型();或者malloc(长度);    这样定义的东西就在堆区

如:Object b =new Object(); 则在堆内存中分配空间

转载于:https://www.cnblogs.com/fifiyong/p/6412933.html

heap与stack的区别相关推荐

  1. Heap与Stack的区别- -

    一.预备知识-程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈. ...

  2. Java里的堆(heap)栈(stack)和方法区(method)

    http://imiduo.iteye.com/blog/616310 Java里的堆(heap)栈(stack)和方法区(method)  <一> 基础数据类型直接在栈空间分配, 方法的 ...

  3. 每日一题(35)—— heap与stack的差别

    heap与stack的差别: Heap是堆,stack是栈. Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放. Stack空间有限,Heap是很大的自由存储区 C中的mall ...

  4. 【重难点】【Java集合 03】ArrayList、LinkedList、 Vector 和 Stack 的区别、CopyOnWriteArrayList

    [重难点][Java集合 03]ArrayList.LinkedList 和 Vector 的区别.util 包下的 List.CopyOnWriteArrayList 文章目录 [重难点][Java ...

  5. java direct memory_第一讲  JVM内存四大类型:Heap,Stack,Contant,DirectMemory等

    第一讲JVM内存四大类型:Heap,Stack,Contant,DirectMemory等 Stack属于栈的区域,属于每条线程私有的. 方法区和本地方法栈有很大的不同,方法区是用Java级别角度做的 ...

  6. Map,List,Queue,Set和Stack的区别

    Map,List,Queue,Set和Stack的区别:

  7. heap与stack区别

    (1)栈区(stack):由编译器自动分配和释放,存放函数的参数值.局部变量的值等,其操作方式类似       于数据结构中的栈. (2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序 ...

  8. Java中内存中的Heap、Stack与程序运行的关系

    堆和栈的内存管理 栈的内存管理是顺序分配的,而且定长,不存在内存回收问题:而堆 则是随机分配内存,不定长度,存在内存分配和回收的问题: 堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己 ...

  9. Pytorch教程(十九)torch.cat与torch.stack的区别

    这一节,将分析拼接(concatenating)和叠加(stacking)张量的区别. 首先看三个例子,一个是pytorch,一个是TensorFlow,一个是numpy. stack和cat张量之间 ...

最新文章

  1. jquery-ajax请求:超时设置,增加 loading 提升体验
  2. CRTMPServer 在CentOS 64-bit下的编译(转)
  3. angular2创建应用_如何使用Angular和SQLite3创建Electron应用程序。
  4. 机器学习之支持向量机算法(一)
  5. 广西移动计算机面试题,广西移动笔试经验分享
  6. [转]SQL操作全集
  7. Qt学习 QVariant类(转)
  8. Novernber Rain
  9. jquery可拖拽式内容模块gridder
  10. envi反演水质参数_Landsat8单窗算法地表温度反演
  11. 股票学习(技术指标--个股贡献度)
  12. 大一新生计算机课word知识,大一计算机结业论文
  13. 企业招投标采购管理系统源码 一站式全流程采购招标系统
  14. 设计模式----单利模式
  15. Server-Sent Events 一种轻量级的Push方式
  16. (转)Native Extensions for Silverlight (NESL)?
  17. TP-LINK路由器作为副路由器之Lan接口连接详解
  18. 使用 Redis 实现语音社交聊天室源码中的排行榜功能
  19. delphi Android 创建缩略图,用Delphi实现缩略图查看
  20. Python数据可视化 Pyecharts 制作 Line3D 3D折线图

热门文章

  1. 手机号mysql索引_Mysql索引总结
  2. 给刚入行产品经理的21条建议
  3. 一张百度收录图片反映出众多配资平台的问题。
  4. BI现状和未来发展趋势
  5. 百度云盘为什么空间那么大
  6. 喷涂机程序,X Y Z R轴喷涂,前后左右上下多角度,配合高精密凸轮分割器分度
  7. 写文章登录Nature子刊:基于深度学习预测家族性阿尔兹海默症患者临床前功能性脑老化
  8. 学会这个视频压缩技巧,实现顺利发送大视频
  9. 搜狗搜索日志分析系统
  10. 【NLP】自然语言处理学习笔记(三)语音合成