Java虚拟机类加载机制
虚拟机把描述类的数据从
Class
文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。
在Java语言里面,类型加载、连接和初始化过程都是在程序运行期间完成。
类的整个生命周期:
即 加载→\rightarrow→连接→\rightarrow→初始化→\rightarrow→使用→\rightarrow→卸载
其中 连接包括:验证→\rightarrow→准备→\rightarrow→解析
Java Object类包含的方法
package java.lang;public class Object {
...private static native void registerNatives();public final native Class<?> getClass();public native int hashCode() {
};public boolean equals() {
}protected native Object clone() throws CloneNotSupportedException {
};public String toString() {
};public final native void notify() {
};public final native void notifyAll() {
};public final native void wait(long timeout) throws InterruptedException {
} // 有多个重载protected void finalize() throws Throwable {
}...
}
native
关键字:一个方法被native
关键字修饰,就成为了Native Method
。简单地讲,一个Native Method
就是一个java调用非java代码的接口。Native Method
的实现并非是java语言,其实现方法体在java语言外面。
native
可以与除了abstract
之外的关键字连用,因为它暗示方法存在可调用的实现体,只是不是由java编写的。