Programiranje

Kako navidezni stroj Java obravnava priklic in vrnitev metode

Ta mesec je Pod pokrovom se osredotoča na priklic in vrnitev metode znotraj navideznega stroja Java (JVM). Opisuje štiri načine, kako je mogoče priklicati Java (in izvorne) metode, poda vzorec kode, ki ponazarja štiri načine, in zajema ustrezne bajtode.

Priklic metode

Programski jezik Java ponuja dve osnovni vrsti metod: metode primerkov in metode razredov (ali statičnih). Razlika med tema dvema vrstama metod je:

  1. Primer metode zahtevajo primerek, preden jih je mogoče poklicati, medtem ko razred metode ne.
  2. Primer metode uporabljajo dinamično (pozno) vezavo, medtem ko razred metode uporabljajo statično (zgodnjo) vezavo.

Ko navidezni stroj Java prikliče metodo razreda, izbere metodo, ki jo je treba priklicati, na podlagi vrste sklica na objekt, ki je vedno znan v času prevajanja. Po drugi strani pa, ko navidezni stroj prikliče metodo primerka, izbere metodo, ki jo bo poklical, na podlagi dejanskega razreda predmeta, ki je morda znan le med izvajanjem.

JVM uporablja dve različni navodili, prikazani v naslednji tabeli, za sklicevanje na ti dve različni vrsti metod: invokevirtual za primer metode in invokestatičen za razred metode.

$config[zx-auto] not found$config[zx-overlay] not found