Rumah  >  Artikel  >  Java  >  Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?

Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?

PHPz
PHPzke hadapan
2023-04-18 17:13:031665semak imbas

1. Premis

1. Rajah skema memori tindanan

Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?

2. Bagaimana kaedah JVM dijalankan?

    1 Semasa fasa berjalan, pemuat kelas classLoader akan meletakkan serpihan kod yang sepadan dengan kaedah dalam fail kelas ke dalam kawasan kaedah dalam kawasan ingatan supaya ia boleh digunakan pada kali berikutnya kaedah itu digunakan. dipanggil.
  • 2 Semasa proses berjalan, JVM akan menolak blok kod dalam kaedah ke dalam ruang tindanan dalam memori mengikut susunan
  • panggilan kaedah

    . Mengikut kaedah Susunan pelaksanaan penyata (dari atas ke bawah, dari dalam ke luar) digunakan untuk melakukan operasi stack pop dan menjalankan

  • 2. Proses memanggil (pelaksanaan)

1. Peraturan untuk panggilan kaedah

Apabila kaedah

dipanggil buat kali pertama

, blok kod kaedah yang sepadan akan dimuatkan ke dalam kawasan kaedah memori melalui pemuat kelas Setiap kali kaedah dipanggil Ia bersamaan dengan

proses tolak tindanan

Apabila semua pernyataan dalam kaedah itu dilaksanakan, kaedah itu akan muncul daripada tindanan (jika tindanan adalah. tidak muncul, timbunan akan dijana pada satu ketika pengecualian Limpahan)2 Kod sampel

3
public class Practice {
    public static void main(String[] args) {
        System.out.println("main 开始");
        show1();
        System.out.println("main 结束");
    }
    public static void show1(){
        System.out.println("show1 开始");
        show2();
        System.out.println("show1 结束");
    }
    public static void show2(){
        System.out.println("show2 开始");
        System.out.println("show2 结束");
    }
}

3.1 JVM akan secara automatik memanggil kaedah utama, jadi kaedah utama mula-mula menolak tindanan, dan kemudian melaksanakan pernyataan dalam kaedah utama dalam urutan

Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?

3.2 Apabila menemui kaedah show1(), ia akan Kaedah show1() menolak tindanan dan melaksanakan pernyataan dalam kaedah show1

Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?

3.3 Apabila melaksanakan pernyataan dalam kaedah show1, apabila melaksanakan show2( ), kaedah show1 berhenti seketika, kemudian menolak kaedah show2 ke dalam tindanan, dan kemudian melaksanakan kandungan kaedah show2

Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?

3.4 Selepas melaksanakan kandungan kaedah show2 Bila, kaedah show2 akan muncul dari timbunan dan dikembalikan ke lokasi di mana kaedah show2 dipanggil dalam show1 Jika tiada operasi tugasan pada nilai pulangan, pernyataan berikut

Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?3.5 Selepas melaksanakan kaedah show1, show1. kaedah akan muncul daripada timbunan, kembali ke lokasi di mana kaedah show1 dipanggil, dan kemudian laksanakan panggilan kaedah show1 dan pernyataan seterusnya

4. Tangkapan skrin kod sampel berjalanApakah proses pelaksanaan panggilan kaedah java dalam ingatan?

Atas ialah kandungan terperinci Apakah proses pelaksanaan panggilan kaedah java dalam ingatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam