![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JNI
P19777
这个作者很懒,什么都没留下…
展开
-
JNI实现山寨版的Thread
前言 在java中的Thread类中,可以发现,当我们调用了start()方法之后,最终调用的是一个start0()的native方法,这是一个native方法,因为Java是没办法直接使用操作系统的线程的,所以使用了一个native方法去调用了c语言的代码,我们这里利用JNI来实现一个自己的Thread类。具体的JNI操作这里就不多说了,可以查看我关于JNI的其他文章 自定义Thread 一个自...原创 2020-01-22 18:08:17 · 310 阅读 · 0 评论 -
JNISystem.loadLibrary()原理
其实其内部最核心的原理是在c语言,而不是在java,其是利用了一个c语言的动态链接库来实现了加载动态链接库 dlopen、dlsym、dlclose加载动态链接库 我们先生成一个动态链接库 // lib.h int gcd(int a,int b); // lib.c #include<lib.h> int gcd(int a,int b){ if(b == 0){ ...原创 2020-01-20 11:41:12 · 665 阅读 · 0 评论 -
JNI入门系列一,第一个JNI程序
首先编写一个简单的类,其中包含一个native方法 public class JNI{ static{ // 加载动态链接库,该动态链接库我们将在下面进行创建 System.loadLibrary("hello_jni"); } public native void hello(); public static void main(String[] args){ JNI ...原创 2020-01-19 18:34:30 · 267 阅读 · 0 评论