JVM:栈上的数据存储

文章目录

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

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

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

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

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

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

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

相关推荐
普通网友2 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
那我掉的头发算什么7 小时前
【javaEE】多线程——线程安全进阶☆☆☆
java·jvm·安全·java-ee·intellij-idea
2501_941236218 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
2501_941111349 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
2501_941111519 小时前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
2501_941111339 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
2501_9411113710 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
一只会写代码的猫10 小时前
深度解析 Java、C# 和 C++ 的内存管理机制:自动 vs 手动
java·jvm·算法
2501_9411113413 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
2501_9411114020 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python