java 基本数据类型各种情况下在内存中存储位置?

查看:114
本文介绍了java 基本数据类型各种情况下在内存中存储位置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题:

如何理解《Java编程思想-第四版》P23 中,这个变量直接存储值,并置于堆栈中,因此更加高效
一句中的 堆栈 两字,到底是堆还是栈?情况如下:

class demo {
    private int var1; // 字段1
    private Integer var2; // 字段2

    public static void main(String[] args) {
        int var3 = 0; // 变量1

        demo obj1 = new demo(); // 实例1
    }
}

我的理解

参考《Java编程思想-第四版》P23 和 《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》P39-P43,对于该 demo

  • 实例1:存储在堆内存中

  • 变量1:存储在方法栈中

  • 实例1中的字段1:存储在堆中

  • 实例1中的字段2:存储在堆中

如果是存储在堆中的话,何来高效一说?

解决方案

我们不能一概而论的说,基本类型数据都是放在栈中的!当某个 类实例 中具有基本类型时,基本类型就放在堆中!

这篇关于java 基本数据类型各种情况下在内存中存储位置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆