gpt4 book ai didi

java - jvm如何运行程序

转载 作者:行者123 更新时间:2023-12-01 19:01:30 26 4
gpt4 key购买 nike

程序1:当我编写一个简单的B类而没有在我的java程序中创建对象时。 JVM 如何为包含成员字段和成员函数的类代码分配内存。

class B
{
int a=10;
public void print()
{
System.out.println("inside B class");
}

}

程序2:当我创建该类的对象时,jvm 如何为对象分配内存......请参见下面的代码

class B
{
int a=10;
public void print()
{
System.out.println("inside B class");
}

public static void main(String args[])
{
B b=new B();
b.print();

}
}

最佳答案

此示例中存在三个分配级别:

  • 当类被加载时(通常是第一次在代码中的某个地方引用它),就会为其结构、代码和静态字段分配内存。

  • 当创建实例(new B())时,就会为非静态字段和一些元数据(对象头)分配内存。该内存位于堆上。

  • 调用方法时,堆栈中的内存将分配给该方法内的局部变量。

关于java - jvm如何运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12087871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com