面试题:为什么不把基本数据类型放在堆中

简介: 面试题:为什么不把基本数据类型放在堆中

面试题:为什么不把基本数据类型放在堆中

1、为什么要把堆和栈区分出来?

(1)栈代表处理逻辑,堆代表存储数据


(2)堆和栈分离,让堆中的数据可以被多个栈共享,提供了数据交互的方式,,堆的数据可以被多个栈访问节约了存储空间


(3)栈是只能向上增长的,限制了栈的存储能力,堆可以动态增长的


(4)面向对象就是堆和栈的完美结合


2、什么是堆和栈?

堆中存的是对象,栈中存的是对象的引用和基本数据类


3、堆栈分离的好处

对象的大小是不可估量的,但是一个对象的引用只有4byte左右


4、为什么不把基本数据类型放在堆中?

(1)基本数据类型占用的空间一般是1-8个字节,需要占用空间比较少


(2)基本数据类型不存在自动增长,长度是固定的,因此存在堆中没有意义,还会浪费空间


相关文章
|
2月前
|
存储 JavaScript 前端开发
【面试题】JavaScript 的 8 种数据类型总结
【面试题】JavaScript 的 8 种数据类型总结
|
2月前
|
Java
|
2月前
|
存储 Java 编译器
【面试知识】Java内存分配之常量池、堆、栈
【面试知识】Java内存分配之常量池、堆、栈
|
2月前
|
存储
【面试小知识】基本数据类型和引用数据类型
【面试小知识】基本数据类型和引用数据类型
|
9月前
|
存储 Java 程序员
【面试题精讲】JVM-堆
【面试题精讲】JVM-堆
|
10月前
|
安全 Java 索引
面试必知的15道Java数据类型题
面试必知的15道Java数据类型题
153 0
|
9天前
|
存储 算法
面试必知必会|理解堆和堆排序
面试必知必会|理解堆和堆排序
|
10天前
|
存储 算法 Java
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
面试高频算法题汇总「图文解析 + 教学视频 + 范例代码」之 二分 + 哈希表 + 堆 + 优先队列 合集
|
2月前
|
Python
2024年最新【Python】常见的 数据类型:整数类型,Python面试题整理最新
2024年最新【Python】常见的 数据类型:整数类型,Python面试题整理最新
2024年最新【Python】常见的 数据类型:整数类型,Python面试题整理最新
|
9月前
|
Java
每天一道面试题之String属于基础数据类型吗?
每天一道面试题之String属于基础数据类型吗?