JNI操作JAVA中操作字段和方法的效率
来源:互联网 发布:windows彩蛋星球大战 编辑:程序博客网 时间:2024/06/08 06:02
native/java 比起 java/native 和 java/java 来的话,效率如何 呢?
这取决于 VM 的实现。
java/native 调用比 java/java 要慢,主要有以下几个原因:
1. java/native 比起 JVM 内部的 java/java 来说有一个调用转换过程,在把控
制权和入口切换给 地方法之前,VM 必须做一些额外的操作来创建参数和栈
帧。
2. 对 VM 来说,对方法调用进行内联比较容易,而内联 java/native 方法要难得
多。
VM 进行 java/native 调用时的消耗是 java/java 的 2~3 倍。当 然 VM 可以进行一些调整,使用 java/native 的消耗接近或者等于 java/java 的 消耗。
技术上来讲,native/java 调用和 java/native 是相似的。但实际上 native/java 调用很少见,VM 通常不会优化 native/java 这种回调方式。多数 VM 中, native/java 调用的消耗可以达到 java/java 调用的 10 倍。
使用 JNI 访问字段的花费取决于通过 JNIEnv 进行调用的消耗。以废弃一个对象 引用来说, 地代码必须依赖于特定的 JNI 函数才能做到,而这个依赖是必须的, 它把 地代码和 VM 中对象的内部形式很好地隔离开
0 0
- JNI操作JAVA中操作字段和方法的效率
- Java程序StringBuilder的效率,验证字符串操作和字符串生成器的操作效率
- 对象的创建和调用方法以及操作字段
- java操作mongoDB的方法中mongo和mongoClient区别
- JNI中如何在本地代码中生成和操作Java的对象和字符串,并编写应用实例
- java对oracle中blob字段的操作
- Java数组和链表两种结构的操作效率,在哪些情况下,哪些操作的效率高
- Oracle中BLOB和CLOB字段的操作
- JNI中jstring操作
- JNI操作Java对象
- JAVA操作Oracle中CLOB字段
- Java 操作mysql数据库中时间字段
- JNI中参数的传递与操作
- JNI中参数的传递与操作
- Java -- JNI提供的操作接口
- java中操作XML的方法
- BCB操作BLOG字段的方法
- mysql数据库操作字段的一些方法
- 最近升级了友盟推送3.0.1,记录一下升级过程!
- 集合的定义
- 自定义 jsonConverter的问题记录
- DB2 循环 ,导入, Reorg
- cookie共享子域名
- JNI操作JAVA中操作字段和方法的效率
- Oracle 12c 新特性(2)_Approximate Count Distinct
- 关系模式的规范化
- lightoj 1012 水广搜。。。最近我脑子不大好了
- 主域名与子域名的区别
- ExtJS快速入门指南
- 第一天1313 第一天1313 第一天1313
- ubuntu12.04进行python cgi开发
- js 实现拖拽