JVM:栈上的数据存储

文章目录

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

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

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

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

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

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

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

相关推荐
whaledown1 小时前
互联网大厂Java求职面试三轮提问详解(涵盖Spring Boot、微服务、Kafka等核心技术)
java·jvm·数据库·spring boot·微服务·面试·kafka
hdsoft_huge2 小时前
JDK系列19:JVM全维度调优实战,内存、元空间、线程栈、GC参数压测调优完整方案
java·开发语言·jvm
-西门吹雪19 小时前
现代C++ 并发编程-学习指南
java·jvm·c++
阿pin21 小时前
Java随笔-GC收集器工作机制
java·开发语言·jvm·gc
自由的裙子1 天前
How-To: Using the N* Stack, part 4
java·jvm·oracle
阿pin1 天前
Java随笔-JVM内存模型
java·开发语言·jvm·内存模型
wuminyu2 天前
Java NIO内存管理与零拷贝深度剖析
java·linux·c语言·jvm·c++
zhixingheyi_tian2 天前
JVM 之 GCLocker
java·jvm
标致的钢铁侠2 天前
c# 温故而知新: 线程篇(一)
java·jvm·c#
盐焗鹌鹑蛋2 天前
【C++】多态
java·jvm·c++