Java中的堆与栈

  • 位置:位于RAM(随机访问存储器,也称主存,内存)中
  • 释放方式:使用完后马上被释放
  • Java中的使用:Java中的基本数据类型,对象引用都存储在栈中
  • 容量大小和分配效率:栈的大小在操作系统中已经提前设定,通常很小,但是由系统自动分配,速度快
  • 分配方式:申请后,由系统判断栈剩余容量是否大于申请容量,是则直接分配,否则提示栈溢出

  • 位置:也位于RAM中
  • 释放方式:使用完后不会自动被释放,需要程序员手动释放(C++),或者由垃圾回收机制定期释放(Java),否则将在程序结束后由操作系统释放。
  • Java中的使用:Java中的对象存储在堆中
  • 容量大小和分配效率:容量比栈大得多,但是在分配时需要进行一系列步骤,比栈的分配慢得多
  • 分配方式:在系统内有一个记录空闲内存地址的链表,当系统收到申请时,会去遍历这个链表,找出其中第一个大于所申请容量的地址,将其从链表中删除,并分配给申请的程序。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值