掌握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)。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思忖小下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值