首页 > 其他 > 详细

堆与栈 笔记

时间:2019-08-30 14:01:37      阅读:56      评论:0      收藏:0      [点我收藏+]

栈内存(stack)

技术分享图片

存放函数的参数值、局部变量(基本数据类型数据和引用数据类型的首地址)
特点

  • 栈内存特点:先进后出、后进先出
  • 栈内存是一块连续的内存中间,由系统分配,速度快!
  • 每个线程都有自己对应的栈内存,不同线程的数据不会相干扰!
  • 栈内存有系统自己管理,无需程序员手动管理内存。

缓存方式
??存放在一级缓存中, 他们通常都是被调用时处于存储空间中,调用完毕立即释放。

堆内存(heap)

存放new出来的对象和数组
特点

  • 堆内存不连续的内存空间,分配灵活,速度慢。
  • 一个进程中共享同一份堆内存,每个线程公用一个堆内存!
  • 堆内存本质上需要程序员来手动管理内存(分配释放),但是java有垃圾回收机制来帮程序管理内存。

缓存方式
??存放在二级缓存中,生命周期由虚拟机的垃圾回收算法来决定(并不是一旦成为孤儿对象就能被回收)。所以调用这些对象的速度要相对来得低一些。

堆与栈 笔记

原文:https://www.cnblogs.com/lyang-a/p/stack_heap.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!