JVM:栈上的数据存储

文章目录

一、Java虚拟机中的基本数据类型

在Java中有8大基本数据类型:

这里的内存占用,指的是堆上或者数组中内存分配的空间大小,栈上的实现更加复杂。

Java中的8大数据类型在虚拟机中的实现:

boolean、byte、char、short在栈上是不是存在空间的浪费?

存在空间的浪费。Java虚拟机采用的是空间换时间方案,在栈上不存储具体的类型,只根据slot槽进行数据处理,浪费了一些内存空间但是避免不同数据类型不同处理方式带来的时间开销。

同时,像long型在64位系统中占用2个slot,使用了16字节空间,但实际上在Hotspot虚拟机中,它的高8个字节没有使用,这样就满足了long型使用8个字节的需要。

相关推荐
算法与编程之美10 小时前
理解Java finalize函数
java·开发语言·jvm·算法
编码追梦人12 小时前
仓颉语言:全栈开发新利器,从服务端到鸿蒙的深度解析与实践
jvm·华为·harmonyos
彩妙不是菜喵13 小时前
C++ 中 nullptr 的使用与实践:从陷阱到最佳实践
开发语言·jvm·c++
light_in_hand13 小时前
内存区域划分——垃圾回收
java·jvm·算法
DKPT15 小时前
如何设置JVM参数避开直接内存溢出的坑?
java·开发语言·jvm·笔记·学习
Violet_YSWY15 小时前
JVM如何下载
jvm
沐浴露z19 小时前
详解JDK21新特性【虚拟线程】
java·开发语言·jvm
堕落年代20 小时前
JVM架构与执行流程详解
jvm
一抓掉一大把21 小时前
秒杀-StackExchangeRedisHelper连接单例
java·开发语言·jvm