Java中对象及常量,局部变量,全局变量的存储位置

Posted 月屯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中对象及常量,局部变量,全局变量的存储位置相关的知识,希望对你有一定的参考价值。

Java把内存划分为以下bai4个部分:
1、栈区(stacksegment)—由编译器自动du分配释放,存放函数的参数zhi值,局部变量的值等,具体方法dao执行结束之后,系统自动释放JVM内存资源。
2、堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收。
3、静态区(datasegment)—存放全局变量,静态变量和字符串常量,不释放。
4、代码区(codesegment)—存放程序中方法的二进制代码,而且是多个对象共享一个代码空间区域。

here
1Java中对象的存储位置
String aa = new String();
new创建的对象存储在堆内存中;
aa这个局部变量存储在栈内存中;
2.Java中常量的存储位置
常量存放在常量池中,而常量池在堆内存中
3.Java中局部变量的存储位置
局部变量存放在栈内存中
4.Java中全局变量和Static常量的存储位置
存放在全局数据区内存中
5.java中static修饰的成员变量及参数存放位置
存放在方法区

以上是关于Java中对象及常量,局部变量,全局变量的存储位置的主要内容,如果未能解决你的问题,请参考以下文章

Java 基本数据类型作为局部变量存储在哪

java 虚拟机 JVM 内存模型(JDK8)

JAVA变量的存放位置

C中虚拟内存的组织

C语言中字符串常量到底存在哪了?

java中类变量、实例变量和局部变量有何区别?