java jni 简介
来源:互联网 发布:淘宝匡威正品店 编辑:程序博客网 时间:2024/06/16 04:10
JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。
JNI原理
JVM将JNI接口指针传递给本地方法,本地方法只能在当前线程中访问该接口指针,不能将接口指针传递给其它线程使用。在VM中 JNI接口指针指向的区域用来分配和存储线程本地数据。当Java代码调用本地方法时,VM将JNI接口指针作为参数传递给本地方法,当同一个Java线程调用本地方法时VM保证传递给本地方法的参数是相同的。不过,不同的Java线程调用本地方法时,本地方法接收到的JNI接口指针是不同的。
JNI副作用
一旦使用JNI,JAVA程序就丧失了JAVA平台的两个优点:
1、程序不再跨平台。要想跨平台,必须在不同的系统环境下重新编译本地语言部分。
2、程序不再是绝对安全的,本地代码的不当使用可能导致整个程序崩溃。一个通用规则是,你应该让本地方法集中在少数几个类当中。这样就降低了JAVA和C之间的耦合性。
JNI设计目的
标准的java类库可能不支持你的程序所需的特性。或许你已经有了一个用其他语言写成的库或程序,而你希望在java程序中使用它。
你可能需要用底层语言实现一个小型的时间敏感代码,比如汇编,然后在你的java程序中调用这些功能。
细节
用Java代码调用C\C++代码时候,肯定会有参数数据的传递。两者属于不同的编程语言,在数据类型上有很多差别,应该要知道他们彼此之间的对应类型。例如,尽管C拥有int和long的数据类型,但是他们的实现却是取决于具体的平台。
参考:
http://blog.csdn.net/jiangwei0910410003/article/details/17465085
http://www.cnblogs.com/shaweng/p/4013320.html
- Java JNI 简介
- java jni简介
- Java的JNI简介
- java jni简介
- java jni 简介
- Java Native Interface(JNI)简介
- Java Native Interface (JNI)简介
- java native interface JNI 简介、基本原理
- java native interface JNI 简介、基本原理
- JNI简介
- JNI简介
- jni简介
- JNI简介
- JNI 简介
- JNI简介
- JNI简介
- JNI简介
- jni 简介
- Bootstrap Table使用整理(二)
- 残差网络
- java 实现单链表反转
- Linux加载IOS镜像
- wmsys.wm_concat 所存在危险 + 函数自定义——代码
- java jni 简介
- 在服务器停电后重启需要操作
- java集合原理
- 基础数论算法(⑨) 高斯消元与LU分解
- 通过数组方式向Oracle大批量插入数据(10万条11秒)
- bzoj2038: [2009国家集训队]小Z的袜子(hose)(莫队+分块模板题)
- phpmyadmin
- Spring 定时任务scheduled详解
- 紫书dp 硬币问题