JVM:栈上的数据存储

文章目录

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

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

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

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

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

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

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

相关推荐
鸽鸽程序猿10 小时前
【JavaSE】简单理解JVM
java·jvm
小毛驴85010 小时前
JDK主流版本及推荐版本
jvm
没有bug.的程序员18 小时前
微服务网关:从“必选项”到“思考题”的深度剖析
java·开发语言·网络·jvm·微服务·云原生·架构
tgethe19 小时前
==和equals的区别
java·开发语言·jvm
步步为营DotNet20 小时前
深度探索.NET 中 IAsyncEnumerable:异步迭代的底层奥秘与高效实践
java·jvm·.net
winfield82121 小时前
GC 日志全解析:格式规范 + 问题分析 + 性能优化
java·jvm
无限进步_21 小时前
C++多态全面解析:从概念到实现
开发语言·jvm·c++·ide·git·github·visual studio
懒惰蜗牛2 天前
Day66 | 深入理解Java反射前,先搞清楚类加载机制
java·开发语言·jvm·链接·类加载机制·初始化
额呃呃2 天前
信号量唤醒线程的实际机制
java·开发语言·jvm
bjxiaxueliang2 天前
一文详解Cpp多线程编程:从传统pthread到现代thread实践指南
java·开发语言·jvm