Java中的基本数据类型和引用类型存储在JVM中那个区域?

首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的。

下面让我们一起来分析下原因:

基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型在内存中的存储问题来解释一下:

   一、在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因。

      在方法中声明的变量可以是基本类型的变量,也可以是引用类型的变量。

         (1)当声明是基本类型的变量的时,其变量名及值(变量名及值是两个概念)是放在JAVA虚拟机栈中。

         (2)当声明的是引用变量时,所声明的变量(该变量实际上是在方法中存储的是内存地址值)是放在JAVA虚拟机的栈中,该变量所指向的对象是放在堆内存中的。

   二、在类中声明的变量是成员变量,也叫全局变量,放在堆中的(因为全局变量不会随着某个方法执行结束而销毁)。

       同样在类中声明的变量即可是基本类型的变量 也可是引用类型的变量。

       (1)当声明的是基本类型的变量其变量名及其值放在堆内存中的。

       (2)引用类型时,其声明的变量仍然会存储一个内存地址值,该内存地址值指向所引用的对象。引用变量名和对应的对象仍然存储在相应的堆中。

此外,为了反驳观点" Java的基本数据类型都是存储在栈的 ",我们也可以随便举出一个反例,例如:

      int[] array=new int[]{1,2};

      由于new了一个对象,所以new int[]{1,2}这个对象时存储在堆中的,也就是说1,2这两个基本数据类型是存储在堆中,这也就很有效的反驳了基本数据类型一定是存储在栈中~~

 转载自java中的基本数据类型一定存储在栈中吗? - @ 小浩 - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/882634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文搞懂Android主题和样式

1. 概念与作用 1.1 定义与组成 Android Theme是用于定义应用程序或其部分的视觉和界面风格的一种资源。主题在Android中扮演着重要的角色,它们允许开发者统一和自定义应用的外观和感觉。一个主题定义了一组属性集合,这些属性可以是颜色、字体、控件样式…

03 go语言(golang) - fmt包基本类型

fmt包 在Go语言中,fmt 包是一个非常重要且广泛使用的标准库包,它提供了格式化I/O(输入/输出)功能,类似于C语言中的 printf 和 scanf。通过这个包,你可以读取输入并将数据格式化输出到标准输出或其他写入器…

web API基础

作用和分类 作用: 就是使用 JS 去操作 html 和浏览器 分类: DOM (文档对象模型)、 BOM (浏览器对象模型) 什么是DOM DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。 HTML DOM 定义了访问和操作 …

Android SELinux——上下文Context介绍(九)

在 SELinux (Security-Enhanced Linux) 中,context(上下文)是一个非常重要的概念,它用于定义系统中的对象(如文件、目录、进程等)的安全属性。每个对象都有一个与之关联的安全上下文,这个上下文决定了对象可以执行的操作以及可以访问哪些其他对象。 一、Context介绍 前…

mingw64的Windows安装及配置教程gcc、g++等

mingw64.rar 链接:https://pan.baidu.com/s/18YrDRyi5NHtqnTwhJG6PuA 提取码:pbli (免费永久有效,免安装,解压后配置环境变量即可使用) 1 下载 解压后随便放到一个地方: 复制“bin”路径&am…

重磅:中国首个SVG技术标准发布,计育韬老师主笔起草

编辑搜图 中华人民共和国《融媒体 SVG 交互设计技术规范》是由复旦大学奇点新媒体研究中心等单位牵头,学科带头人计育韬等人主要起草,并于 2024 年 8 月起面向全社会行业从业者发布的最高技术标准。该标准前身为 2016 年计育韬与微信团队合作拟定的《SV…

置分辨率设置多显示器的时候提示, 某些设置由系统管理员进行管理

遇到的问题 设置分辨率设置多显示器的时候提示(如下图所示): 某些设置由系统管理员进行管理 解决方法 先试试这个方法: https://answers.microsoft.com/zh-hans/windows/forum/all/%E6%9B%B4%E6%94%B9%E5%88%86%E8%BE%A8%E7%8…

强大的Python必备库,你知道几个?建议收藏!

在Python的世界里,库的丰富性让开发者的工作变得轻松而高效。那么,你知道哪些强大的Python必备库吗? 面对众多的Python库,如何选择适合自己的工具来提升开发效率和代码质量?,丰富多样的库如同一个个强大的…

Java中的I/O系统中的字节流

## 一、简介 在Java的I/O体系中,节点流是直接与数据源或数据汇(目的地)相连的流。它们构成了数据传输的最底层操作,是构建更复杂的I/O操作的基础。理解节点流对于深入掌握Java的I/O系统至关重要。 ## 二、文件相关的节点流 ### …

AnaTraf | 提升网络性能:深入解析网络关键指标监控、TCP重传与TCP握手时间

AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具 在当今的数字化时代,网络的稳定性和性能对企业的运营效率至关重要。无论是内部通信、应用程序的运行,还是对外提供服务,网络都发挥着关键作用。对于网络工程师或IT运维人员…

【多类别分类中的准确率召回率平均策略】

文章目录 1. 机器学习中的微平均策略(Micro Average Strategy)2. 机器学习中的宏平均策略(Macro Average Strategy)3、weighted 平均策略 1. 机器学习中的微平均策略(Micro Average Strategy) 在机器学习和…

移动端面试问题笔记(一)

1. 1pxborder的问题 原因: 设备像素比不同 从移动端的角度说个具体的场景,以iphone6为例。 iphone6的屏幕宽度为375px,设计师做的视觉稿一般是750px,也就是2x,这个时候设计师在视觉稿上画了1px的边框,于是你就写了“bo…

EasyX图形库的安装

前言 EasyX是一个图形库,可以用来做一些c/c小游戏,帮助学习。 一、进入EasyX官网 https://easyx.cn/ 二、点击下载EasyX 三、下载好后以管理员身份运行它 四、点击下一步 五、然后它会自动检测你的编辑器,用哪个就在哪个点安装 六、安装成功…

【linux问题】Linux命令行终端窗口的输出,显示不全问题

Linux命令行终端窗口的输出,显示不全问题 问题: 图中显示的是一个Linux命令行终端窗口, nmcli dev wifi 是一个命令——列出所有能用的Wi-Fi。 执行命令后,窗口输出了显示了所有能用的Wi-Fi网络列表。 但是在每一行末尾有一个“…

KPaaS:基于微服务架构的低代码平台

基于微服务架构的低代码平台是当前企业数字化转型的重要工具。通过将微服务架构与低代码平台结合,可以实现高效、灵活且可扩展的应用开发。在当今数字化转型的浪潮中,企业面临着诸多挑战,其中IT资源有限以及对高效开发的需求尤为突出。KPaaS业…

AI一键生成钢铁是怎样炼成的ppt!用这2个工具轻松拿捏ppt制作!

钢铁是怎样炼成的,是中小学语文新课标必读书目,它是由前苏联作家尼古拉奥斯特洛夫斯基于1930年至1934年写成的半自传体长篇小说,全书详细记叙了保尔柯察金于20世纪初期的成长历程。 对于每个接受过九年义务教育的大小朋友来说,这…

漏洞挖掘JS构造新手向

前置思路文章 JS逆向混淆前端对抗 油猴JS逆向插件 JS加解密之mitmproxy工具联动Burp JS挖掘基础 伪协议 JavaScript伪协议是一种在浏览器中模拟网络请求的方法。它使用window.XMLHttpRequest对象或fetch()方法来模拟发送HTTP请求,而不是通过实际的网络请求来获…

碰到这个问题请更新或重新安装fastapi版本

ValueError: too many values to unpack (expected 2) ERROR: Exception in ASGI application Traceback (most recent call last) File "/usr/local/lib/python3.8/site-packages… Ubuntu,容器中, 碰到上面这个问题,请更新fastapi的版…

微信小程序——编写一个表白墙小程序

一、前期准备 注册微信小程序账号 在微信公众平台上注册小程序账号,获取小程序的 AppID。 安装开发工具 下载并安装微信开发者工具,用于小程序的开发、调试和预览。 二、界面设计 首页 展示最新的表白内容列表,每条表白可以包括发布者昵称、…

⌈ 传知代码 ⌋ 无监督动画中关节动画的运动表示

💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…