栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中的6个数据存储区域和局域变量和成员变量进行比较所需要的存储区域

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中的6个数据存储区域和局域变量和成员变量进行比较所需要的存储区域

一. java中数据存储的6个区域

1.寄存器

寄存器是存储速度最快的区域,位于存储器内部,寄存位于处理器内部,寄存器又编译器进行分配不能用java代码控制。

2.栈

栈的存储速度仅次于寄存器,存放基础数据类型和引用数据类型的引用。但存储数据不够灵活,因为栈的数据有生存周期,方法消亡后,数据也跟着消亡。方法中局部变量存储在栈中,栈中的数据也不能被多线程共享。

3.堆

堆的存储速度没有栈快,存储的数据类型是new出来的对象,用于存放所有对象。但数据的存储灵活性高,因为编译器不需要知道分配多少空间,也不需要知道生存周期,所以相对灵活。成员变量存储在堆中。

4.常量池

常量池用于存放字符串常量和基本数据类型常量。被public static final 所共同修饰的变量也是常量,String修饰的也是常量。

5.静态域

静态域在方法区中,包含整个程序中永远唯一的元素,被static修饰的变量。

6.非ram存储

非ram存储,不依赖程序也可以存活。如硬盘。

二.局域变量和成员变量进行比较所需要的存储空间

代码

public class Stackheap {
	 int a = 520;
	public static void main(String[] args) {
		Stackheap h = new Stackheap();
		h.f();
		
	}
	public void f() {
		int b=520;
		System.out.println(a==b);
	}
}

所以要的区域

 a和b比较的是常量值中的哈希码值,哈希码值为16进制,哈希码值一样则输出true。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号