博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆和栈最基本的小区别
阅读量:7053 次
发布时间:2019-06-28

本文共 361 字,大约阅读时间需要 1 分钟。

1. 栈(stack)与堆(heap)都是 用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。
2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的 。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据在多个线程或者多个栈之间是不可以共享的,但是在栈内部多个值相等的变量是可以指向一个地址的,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
 
简而言之,堆是需要自己设定和分配,速度较慢;而栈是自动分配,速度较快。

转载于:https://www.cnblogs.com/ldmemory/p/6475044.html

你可能感兴趣的文章
PhpStrom安装Xdebug调试工具
查看>>
Spark Streaming源码解读之数据清理 内幕
查看>>
项目打包流程
查看>>
vue-cli项目动态引用图片链接问题
查看>>
合格程序员每天每周每月每年应该做的事
查看>>
macbook pro(2012款)更换ssd硬盘(光驱拆除换成ssd,原有硬盘仍然使用)
查看>>
Stream API(三)--原始类型流特化
查看>>
使用webiopi控制树莓派的GPIO引脚电平(WEB在线管理)
查看>>
js中call与apply
查看>>
隐式转换
查看>>
(转)直接拿来用!最火的iOS开源项目(二)
查看>>
mysql数据库的修改
查看>>
Ubuntu Server 16升級到Ubuntu Server 18操作步驟
查看>>
Android中ViewGroup
查看>>
Camtasia Studio(屏幕录制工具)
查看>>
JSON Web Token 入门教程
查看>>
Shell脚本入门-9
查看>>
把tomcat放在linux开机启动中
查看>>
FTP 小结
查看>>
Ubuntu系统清理软件Stacer最新发布
查看>>