Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我们声明静态时,内存分配在哪里?_Java_Android - Fatal编程技术网

Java 当我们声明静态时,内存分配在哪里?

Java 当我们声明静态时,内存分配在哪里?,java,android,Java,Android,可能重复: 这是一个小混乱…定义静态类,方法和变量。在这三种情况下,内存分配?我的老板熟悉C语言,他说只有变量在堆内存中,而rest(静态类和静态方法)将保留在主内存中。这是真的吗?有什么解释吗 再来一次 在android中,使用静态类和静态方法是最佳实践?静态变量保存在与类声明(方法和属性等)相同的位置。1). 类(由类加载器加载)位于堆上一个称为永久生成的特殊区域,静态字段也位于类的每个实例的公共位置。 有关详细信息: 试试这个 static members are stored in M

可能重复:

这是一个小混乱…定义静态类,方法和变量。在这三种情况下,内存分配?我的老板熟悉C语言,他说只有变量在堆内存中,而rest(静态类和静态方法)将保留在主内存中。这是真的吗?有什么解释吗

再来一次
在android中,使用静态类和静态方法是最佳实践?

静态变量保存在与类声明(方法和属性等)相同的位置。1). 类(由类加载器加载)位于堆上一个称为永久生成的特殊区域,静态字段也位于类的每个实例的公共位置。 有关详细信息:

试试这个

static members are stored in Method Area.
类实例和数组存储在堆内存中。堆内存也称为共享内存。因为这是多个线程共享相同数据的地方

Non-heap Memory
它由
“方法区域”
和内部处理所需的其他内存组成。因此,这里的主要参与者是“方法领域”

Method Area
如最后一行所示,方法区域是非堆内存(一个特殊的堆区域)的一部分。它存储每个类的结构、方法和构造函数的代码。每类结构表示运行时常量和
静态字段

以上三个(堆内存、非堆内存和方法区域)是内存和JVM的主要术语


类实例和数组存储在堆内存中。堆内存也称为共享内存。因为这是多个线程共享相同数据的地方。

Duplicate:and。主持人:对不起,当我标记这个问题时,我链接到了错误的问题。否。静态字段和常量存储在堆中的类对象中。
Non-heap Memory