zoukankan
html css js c++ java
栈的效率为什么比堆高?
“堆”和“栈”并不是数据结构上的Heap跟Stack,而是程序运行中的不同内存空间。
那么这就简单了,栈是程序启动的时候,系统分好了给你的,你自己用,系统不干预。
堆是用的时候才向系统申请的,用完了还回去,这个申请和交还的过程开销相对就比较大了。
栈与堆都是Java用来在Ram中存放数据的地方。
栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)。 存在栈中的数据可以共享。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。
堆是一个运行时数据区,类的(对象从中分配空间。由于要在运行时动态分配内存,存取速度较慢。 存在栈中的数据可以共享。
栈是编译时分配空间,而堆是动态分配(运行时分配空间),所以栈的速度快
cpu有专门的寄存器(esp,ebp)来操作栈,堆都是使用间接寻址的。栈快点
查看全文
相关阅读:
小账本软件设计之数据库设计模式构建
基于JMeter的Quick Easy FTP Server性能测试
构建之法 -源代码管理
小账本APP——软件项目风险管理及解决办法案例
基于python的Splash基本使用和负载均衡配置
MQ初窥门径【面试必看的Kafka和RocketMQ存储区别】
Apollo源码搭建调试看一文就够
log4j2异步日志解读(二)AsyncLogger
Disruptor源码解读
高性能队列disruptor为什么这么快?
原文地址:https://www.cnblogs.com/mataiyuan/p/12552136.html
最新文章
接口的显式实现和隐式实现
一个模块反复重构多次的原因有哪些
Unity VS2017 调试外部DLL
C# Attribute 名称和使用的问题
MonoSymbolFileException in CheckLineNumberTable
TCP连接与断开
DHCP服务器的架设
从零开始学架构(一):架构师成长路径
大型网站架构系列:分布式消息队列(一)
大型网站架构系列:电商网站架构案例(1)
热门文章
高并发服务限流实践(一)
重温设计模式系列:文章发布计划
从零开始学架构(二)架构知识领域
kafka集群broker频繁挂掉问题解决方案
分布式架构:并发重复请求和幂等场景技术实现总结
数据库扩展性设计:使用二进制解决一条记录关联多个状态的问题
从零开始学架构:开篇-文章大纲
JAVA通信系列三:Netty入门总结
JAVA通信系列二:mina入门总结
GIt三剑客
Copyright © 2011-2022 走看看