目录
引入
在Thread.java1中有这样一个方法
private native void start0();
没有方法体,Thread既不是抽象类也不是接口,一般来说是不能这样定义一个方法的,是什么原因呢?我们看这个方法与别的方法的不同是加了native关键字,这说明这个方法是本地方法,java的作用范围达不到了,需要调用底层C语言的库。
Native Method 本地方法的实现由非java语言实现。
我们如何调用这个native 方法呢?
1. 首先进入本地方法栈
2.调用本地方法接口,通过Java本地接口实现,即JNI。JNI连接本地方法库。
JNI作用:扩展本地方法的使用,融合不同的编程语言为Java所用。
为什么会Native方法呢?
Java诞生的时候,C、C++流行,为了立足,Java必须要有调用C、C++的程序。所以Java在内存区中开启了一块专门的区域本地方法栈(Native Method Stack),用来标记native方法,在最终执行的时候,通过JNI加