JVM:栈上的数据存储

文章目录

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

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

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

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

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

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

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

相关推荐
小溪学编程9 小时前
从 C++ 的规范变迁看语言发展
jvm·c++·面试
晚安code10 小时前
JVM 类加载机制详解:双亲委派模型的原理、优势与三种打破方式
jvm
Joe_Wang513 小时前
【从0到1学习JVM · 21】既不浪费空间又没有碎片,标记整理算法到底慢在哪
jvm·学习·算法·垃圾回收·标记整理算法
Cheney Pan14 小时前
第4篇 Spring Boot 应用监控:Micrometer 与 JVM 指标
jvm·spring boot·后端·prometheus
Joe_Wang514 小时前
【从0到1学习JVM · 25】同样都要停顿所有线程,Parallel比Serial到底强在哪
java·jvm·学习·垃圾回收
wuminyu14 小时前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++
wuminyu1 天前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
波力海苔夹心脆6751 天前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net
Joe_Wang51 天前
【从0到1学习JVM · 15】对象在堆里来回倒腾,究竟怎样才会进老年代?
java·jvm·学习·垃圾回收
小宋10211 天前
SQL + RAG 混合问答实战:结构化指标与文档证据如何统一路由
java·jvm·人工智能·sql