5.3.11 本地方法接口
Posted mongotea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.3.11 本地方法接口相关的知识,希望对你有一定的参考价值。
并不强求Java虚拟机实现支持任何特定的本地方法接口。有些实现可以根本不支持本地方法 接口,还有一些可能支持少数几个,每一个对应一种不同的需求。
Sun的Java本地接口,或者称作JNI,是为可移植性准备的。JNI设计的可以被任何java虚拟机实现支持,而不管它们使用何种垃圾收集或者对象表示技术。这样它能使开发者在一个特定 的主机平台上,把同样的(与JNI兼容的)本地方法二进制形式连接到任何支持JNI的虚拟机实现上。
实现设计者可以选择创建-些私有的本地方法接口,扩展或者取代JNI。为了实现可移植性, JNI在指针和指针之间、指针和方法之间使用了很多间接方法。为了得到最好的性能,实现设计者可以提供他们自己的低层本地方法接口,以便和他们所使用的特定实现结构能更加紧密地 结合。设计者也可以提供比JNI更高层的本地方法接口,比如把java对象加人到一种组件软件模 型中。
设计一个提供这些服务的本地方法接口是非常复杂的,需要确认垃圾收集器没有释放那些 正在被本地方法使用的对象。如果实现的垃圾收集器为了减少堆碎片移动了一个对象,本地方 法设计必须保证下面二者之一:
1)当对象的引用被传递给了一个本地方法之后,它可以移动。
2)任何其引用传递给了本地方法的对象都被钉住,直到本地方法返回,或者它表明自己已 经完成了对象的操作。
由此可见,本地方法接口和Java虚拟机内部工作纠缠在了一起。
以上是关于5.3.11 本地方法接口的主要内容,如果未能解决你的问题,请参考以下文章
JVM学习-05:JVM之本地方法(Native Method)与本地方法栈(Native Method Stack)
JNI CPP实现jni接口,采用方法名来识别本地方法的方式(相对于动态加载) 报错解决方法
DataTables学习:从最基本的入门静态页面,使用ajax调用Json本地数据源实现前端开发深入学习,根据后台数据接口替换掉本地的json本地数据,以及报错的处理地方,8个例子(显示行附加信息,回