Tämän kuukauden Konepellin alle keskittyy menetelmän kutsumiseen ja paluuseen Java-virtuaalikoneen (JVM) sisällä. Siinä kuvataan neljä tapaa, joilla Java (ja alkuperäiset) -menetelmät voidaan käyttää, annetaan koodinäyte, joka havainnollistaa näitä neljää tapaa ja kattaa asiaankuuluvat tavukoodit.
Menetelmän kutsuminen
Java-ohjelmointikieli tarjoaa kaksi perustyyppiä: esimerkkimenetelmät ja luokan (tai staattiset) menetelmät. Ero näiden kahden menetelmän välillä on:
Ilmentymä
menetelmät edellyttävät instanssia ennen kuin niihin voidaan vedota, kun taasluokassa
menetelmät eivät.Ilmentymä
menetelmissä käytetään dynaamista (myöhäistä) sitomista, kun taasluokassa
menetelmissä käytetään staattista (varhaista) sitoutumista.
Kun Java-virtuaalikone kutsuu luokan menetelmän, se valitsee kutsuttavan menetelmän objektiviittauksen tyypin perusteella, joka tunnetaan aina käännösaikana. Toisaalta, kun virtuaalikone kutsuu ilmentymämenetelmää, se valitsee kutsuttavan menetelmän objektin todellisen luokan perusteella, joka voi olla tiedossa vain ajon aikana.
JVM käyttää kahta erilaista oheista, jotka on esitetty seuraavassa taulukossa, näiden kahden erilaisen menetelmän käyttämiseksi: invokevirtuaali varten ilmentymä
menetelmät ja invokestaattinen varten luokassa
menetelmiä.