簡體   English   中英

jvm如何運行程序

[英]how jvm run program

程序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() )時,將為非靜態字段和一些元數據(對象標頭)分配內存。 該內存在堆上。

  • 當一個方法被調用時,堆棧中的內存將分配給該方法內部的局部變量。

這個站點非常有用,所以看看它。 鏈接,您將能夠了解jvm是如何運行程序的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM