掌握API和控制点(从Java到JNI接口)_36 JNI开发与NDK 04

devtools/2025/2/4 13:14:47/

4、 *.so的入口函数:JNI_OnLoad()

VM (virtual machine)的角色
  • Java代码在VM上执行。
  • 在执行Java代码的过程中,如果Java需要与本地代码(*.so)沟通时, VM就会把*.so視为插件<Tn>而加载到VM里。
  • 然后让Java函数呼叫到这插件<Tn>里的C函数。
  • 插件是由VM来管理的,实体上VM是*.so插件的管理器(Plug-in Manager)。
  • Java与C函数的调用,也是透过VM来对接的。
两个观点(视角)下的EIT造形

 

VM是插件管理器的角色

EIT造形平台化的基本思维


http://www.ppmy.cn/devtools/156012.html

相关文章

梯度提升用于高效的分类与回归

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 使用 决策树&#xff08;Decision Tree&#xff09; 实现 梯度提升&#xff08;Gradient Boosting&#xff09; 主要是模拟 GBDT&#xff08;Gradient Boosting Decision Trees&#xff09; 的原理&#xff0c;即&a…

攻防世界_php_rce(ThinkPHP框架)

打开靶场 点链接&#xff0c;发现是广告&#xff0c;没什么特别的&#xff0c;再看题目php.rce&#xff0c;查一下RCE是什么 RCE&#xff08;Remote Command Execution&#xff09;远程命令执行&#xff0c;是一种严重的网络安全漏洞。 RCE指攻击者能通过网络远程控制目标系统&…

深入理解linux中的文件(上)

1.前置知识&#xff1a; &#xff08;1&#xff09;文章 内容 属性 &#xff08;2&#xff09;访问文件之前&#xff0c;都必须打开它&#xff08;打开文件&#xff0c;等价于把文件加载到内存中&#xff09; 如果不打开文件&#xff0c;文件就在磁盘中 &#xff08;3&am…

Hive:窗口函数[ntile, first_value,row_number() ,rank(),dens_rank()]和自定义函数

ntile 分组 它把有序的数据集合 平均分配 到 指定的数量&#xff08;num &#xff09;个桶中 , 将桶号分配给每一行。如果不能平均分配&#xff0c;则优先分配较小编号的桶&#xff0c;并且各个桶中能放的行数最多相差1。 被称作窗口函数、序列函数或分析函数, 本质上是一种…

Windows编译FreeRDP步骤

1. **安装必要工具** powershell # 安装 Visual Studio 2022 (勾选"C桌面开发"组件) # 安装 CMake: https://cmake.org/download/ # 安装 Git: https://git-scm.com/ 2. **安装依赖项** powershell # 使用vcpkg包管理 git clone https://github.com/Microsoft/vcpk…

【MySQL】MySQL客户端连接用 localhost和127.0.0.1的区别

# systemctl status mysqld # ss -tan | grep 3306 # mysql -V localhost与127.0.0.1的区别是什么&#xff1f; 相信有人会说是本地IP&#xff0c;曾有人说&#xff0c;用127.0.0.1比localhost好&#xff0c;可以减少一次解析。 看来这个入门问题还有人不清楚&#xff0c;其实…

javascript-es6(三)

解构赋值 解构赋值是一种快速为变量赋值的简洁语法&#xff0c;本质上仍然是为变量赋值 数组解构 数组解构是将数组的单元值快速批量赋值给一系列变量的简洁语法 基本语法&#xff1a; 1. 赋值运算符 左侧的 [] 用于批量声明变量&#xff0c;右侧数组的单元值将被赋值给左…

DOM 操作入门:HTML 元素操作与页面事件处理

DOM 操作入门:HTML 元素操作与页面事件处理 DOM 操作入门:HTML 元素操作与页面事件处理什么是 DOM?1. 如何操作 HTML 元素?1.1 使用 `document.getElementById()` 获取单个元素1.2 使用 `document.querySelector()` 和 `document.querySelectorAll()` 获取多个元素1.3 创建…