当前位置: 首页 > article >正文

掌握API和控制点(从Java到JNI接口)_39 JNI从C调用Java函数 02

2、 控制点与函数调用

  • C调用Java函数,并不一定表示C层拥有控制点。
  • 但是, C层拥有控制点的必备表现是: C调用Java层函数
EIT造形的典型:反向调用:Ioc

<T>也能(正向)调用<E>

Android范例

C层拥有控制点的比喻

  • 底层提供服务给上层调用。
  • User希望AP稳定不变。
  • AP希望Java框架不变。
  • Java框架期待C/C++模块不变。
  • C/C++模块期待驱动稳定不变。
  • 人人都期待底下的“平台”不变。

  • 地位尊卑顺序相反。
  • 行为决策相反。
  • 老观点,人人争先恐后做 AP。
  • 反之, 新观点,争先恐后做框架和API。
  • 新观点,底层先获利。万里长城让关内居民先获利。有利于软硬整合厂家。

   

  • 这不重视另一项流程:命令流程(Command Flow)。误认为请求流程 ==命令流程。
  • 于是,命令来自业主或AP,底层硬件厂成为长工,难以实现软硬整合。
  • 大家都知道命令的来源是紫禁城内,流向北京城外,再流到长城之外。
  • 紫禁城内清朝皇帝的主导地位,必然会最第一道防线(即万里长城)设立关口,并重兵驻守,成为具有高度主导性的接口,例如山海关、居庸关等。
  • 唯有主导性API(或称接口,或称关口)才能确保命令的传递和执行。在此平台里,硬件差异化才能凸显于API上,与App相会合。

        

       

  • C/C++掌握主导权(话语权)、拥有控制点的更多表现:

       除了C函数调用Java层函数之外,还有:
         1. C函数存取Java对象的属性值。
         2. C函数创建Java层的对象(object)。
 


http://www.kler.cn/a/539976.html

相关文章:

  • 综合评价 | 基于随机变异系数-TOPSIS组合法的综合评价模型(Matlab)
  • vscode无法ssh连接远程机器解决方案
  • 4G核心网的演变与创新:从传统到虚拟化的跨越
  • .net一些知识点5
  • Flink (十七) :Table API SQL (五) 时区
  • 苍穹外卖-新增菜品(阿里云OSS文件上传mybatis主键返回批量保存口味表数据)
  • 996引擎-问题处理:三职业改单职业
  • 【k8s应用管理】kubernetes pod资源控制管理(一)
  • MATLAB使用技巧之局部放大图的制作(二)
  • 通过Demo案例的形式弄懂Java中的设计模式
  • JMeter通过BeanShell如何对CSV文件的指定列追加数据
  • 智能理解 PPT 内容,快速生成讲解视频
  • 排错 -- 用React.js,Solidity,智能合约构建最新区块链应用
  • Pixel3XL 编译源码刷机教程
  • undetected-chromedriver 使用教程,指定浏览器驱动和浏览器版本
  • 运行npm install卡住不动的
  • 22.2、Apache安全分析与增强
  • 【数据结构】_栈与队列经典算法OJ:栈与队列的互相实现
  • 深度学习 语音合成
  • Java并发编程笔记
  • C++使用Json保存配置参数
  • 【计算机网络基础】ACL
  • 【Redis keys命令有什么问题?】
  • Android内存性能优化量化指标
  • 深度卷积神经网络实战海洋动物图像识别
  • 网络基础知识与配置