JVM:栈上的数据存储

文章目录

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

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

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

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

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

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

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

相关推荐
m0_702036531 小时前
mysql如何通过索引减少行锁范围_mysql索引与加锁逻辑
jvm·数据库·python
qxwlcsdn1 小时前
如何用 IndexedDB 存储从 API 获取的超大列表并实现二级索引
jvm·数据库·python
2301_809244531 小时前
C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
jvm·数据库·python
BING_Algorithm2 小时前
深入理解JVM垃圾回收
jvm·后端·面试
笨蛋不要掉眼泪3 小时前
Java并发编程:线程的创建和运行
java·开发语言·jvm
qxwlcsdn3 小时前
mysql在事务中执行DDL的后果_MySQL 8.0之前的限制
jvm·数据库·python
2401_884454154 小时前
如何防止SQL触发器导致性能下降_通过精简触发器逻辑
jvm·数据库·python
m0_596749094 小时前
Golang如何做Clean Architecture_Golang整洁架构教程【详解】
jvm·数据库·python
czt_java4 小时前
线程安全问题
java·开发语言·jvm
2401_867623984 小时前
如何管理应用锁_DBMS_LOCK申请自定义锁控制并发逻辑
jvm·数据库·python