1. A method of executing a native method in a Java virtual machine comprising: determining whether a native method is to be handled by a first native interface or one of a plurality of other native interfaces; if the method is to be handled by the first native interface, invoking the method and enabling the method to access an internal state of the Java virtual machine; executing the method in the Java virtual machine; and adjusting the state of the Java virtual machine based on execution of the method whereby transition between an interpreter loop and the native method via the first native interface is minimized.