Java Native Methods Essentials, from Binary code point of view, with example of java.lang.Runtime
Java Native method provides a mechanism for Java code to call OS native code, either due to functional or performance reasons. Binary Code is always the best document. Let's take the an example from OpenJDK of the class java.lang.Rutime to discover the details in binary code manner. Here is the source code of the Runtime class: master/src/java.base/share/classes/java/lang/Runtime.java In this class we have the following methods defined as native : 606 public native int availableProcessors(); 617 public native long freeMemory(); 630 public native long totalMemory(); 641 public native long maxMemory(); 664 public native void gc(); For the native Java methods, the corresponding generated methods in the class file will set the ACC_NATIVE ( 0x0100 ) flag, and the there is no bytecode generated in the .class file as other none-native Java methods. The access_flags field is a mask of flags used to denote access permission to and properties of an method: access...