Native method Stack(本地方法栈)
java的多线程
Thread t1 =new Thread();
t1.start();
t1.start();
报错:
Exception in thread "main" java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:708)
所以不能调用两次start();
start()方法源代码里边调用的start0(); 如下:
private native void start0();
只要native修饰的方法(出了java的管辖范围),就是调用第三方函数库。具体实现由第三方函数库实现。
这种方法要放到本地方法栈中
Native Interface
就是java95年诞生的时候,C,C++横行,java为了立足,必须调用C,C++程序,于是就是再内存中
专门开辟了一个块区域处理标记为native方法。
Native Method Stack
它的具体做法是Native Method Stack中登记nativce方法,在ExecutionEngine执行时加载本地方法库。