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:
Primer
metode zahtevajo primerek, preden jih je mogoče poklicati, medtem korazred
metode ne.Primer
metode uporabljajo dinamično (pozno) vezavo, medtem korazred
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.