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

网站开发的技术解决方案公司介绍网页模板

网站开发的技术解决方案,公司介绍网页模板,如何将自己做的网站发布到网上,网站必须要实名认证么JNI接口函数和指针Java虚拟机访问本机代码通过调用JNI的功能特性。JNI的功能都可以通过一个接口指针。一个接口指针是一个指向指针的指针。这个指针指向一个一个指针数组#xff0c;这个数组中的每一个成员指向一个函数入口。每个接口的功能是在一个预定义的内部数组的偏移量。…JNI接口函数和指针Java虚拟机访问本机代码通过调用JNI的功能特性。JNI的功能都可以通过一个接口指针。一个接口指针是一个指向指针的指针。这个指针指向一个一个指针数组这个数组中的每一个成员指向一个函数入口。每个接口的功能是在一个预定义的内部数组的偏移量。图一、JNI接口函数和指针JNI接口的组织像C虚函数列表或COM接口一样。使用接口列表的好处是JNI名字空间与本地代码分离开来。JNI接口指针只在当前线程有效。因此一个本地方法不能从一个线程通过该接口指针指向另一个线程。本地方法像参数一样接收JNI接口指针。当在同一个线程中有多个调用本地方法VM保证相同的接口指针传递到这个本地方法。然而本地方法可以被不同的Java线程调用因此可能会收到不同的JNI接口指针。加载和链接本机方法本地方法装载的是System.loadLibrary方法。在下面的例子中类的初始化方法加载一个特定平台的本地库中的本地方法f定义如下packagepkg;classCls {nativedouble f(int i, String s);static{System.loadLibrary(“pkg_Cls”);}}System.loadLibrary中的参数是一个库名它是由程序员任意选择的。该系统遵循一个标准把库名转换为本地库名的方法但这是与平台相关的。例如Solaris系统把pkg_Cls转换为libpkg_Cls.so而Win32系统则转换为pkg_Cls.dll。程序员可以使用一个单一的库来存储所有的任何类需要的本地方法只要这些类能够被同一类加载器加载。虚拟机内部会为每个类加载器维护一个加载本地库的的列表。虚拟机会检查与本地库匹配的方法名。虚拟机会首先查找短名称即没有参数的名称签名。然后再查找长名称即带参数签名的名称。程序员只有当一个本地方法与另一本机方法重载时才需要使用长名称。在下面的例子中本地方法g不必须连接使用长名称因为其另一个方法g不是一个本地方法因此也没有在本地库。classCls1 {intg(int i);nativeint g(double d);}本机方法的参数JNI接口指针是本地方法的第一个参数。在JNI接口指针的类型是JNIEnv。第二个参数不同这取决于本地方法是静态的还是非静态的。第二个参数为一个非静态本地方法时是对对象的引用。第二个参数为静态本地方法是对的Java类的引用。其余的参数对应于常规的Java方法的参数。本机方法通过返回值调用传递它的结果返回到调用例程。下面代码举例说明了使用C函数来实现f本地方法时本地方法f声明如下packagepkg;classCls {nativedouble f(int i, String s);...}Java对象引用像整数字符等等这些原始类型都在Java与本机代码之间复制。另外任意Java对象是通过引用传递。虚拟机必须跟踪所有已传递到本地代码的对象使这些对象不会被垃圾收集器释放。相反本地代码必须有一种机制来通知虚拟机什么时候不再需要使用这些对象了。此外垃圾收集器必须能够搬运对象所指的本机代码。全局和局部引用JNI把本地代码使用的相关对象分为两在范畴局部和全局引用。局部引用的有效期为一个本地方法调用的时间并自动机方法返回后获释。全球引用仍然有效直到它们被明确释放。所有的Java的JNI函数返回的对象都是局部引用。JNI允许程序员通过局部引用来创建全局引用。局部引用只有在线程中被建立时才有效并只在该线程中有效。本地代码不能在线程之间调用局部引用。访问字段和方法JNI允许本地代码访问字段和调用Java对象的方法。JNI通过符号名称和类型签名来判定方法和字段。例如要调用类cls中的方法f本地代码首先获得一个方法的ID如下jmethodIDmid env-GetMethodID(cls, “f”, “(ILjava/lang/String;)D”);本地代码便可以重复的使用methodID而在方法查找时不需要时间具体如下jdoubleresult env-CallDoubleMethod(obj, mid, 10, str);报告程序错误JNI不检查编程错误如空指针或非法参数类型传递。非法使用的参数类型包括用父类对象引用子类对象。Java异常JNI允许本地方法任意提高Java异常。本机代码也可以处理严重的Java异常。Java的未处理的异常是传送回了VM。因此程序员可以快速检查上次的JNI调用的返回值以确定是否发生了错误并调用一个函数ExceptionOccurred()以获得异常对象它包含一个错误的条件更详细的说明。异常处理在本地代码中有两种方法处理异常1、本机方法可以选择立即返回在Java代码中抛出异常启动了本地方法调用。2、本地代码能过调用ExceptionClear()来清除异常然后执行自己的异常处理代码。在异常被提升之后本地代码在其它JNI调用之前必须先清除异常。
http://www.zqtcl.cn/news/130782/

相关文章:

  • 锡盟网站建设做网站视频存储
  • 深圳博纳网站建设高端品牌护肤品排行榜
  • 百度爱采购优化排名软件宁波seo搜索平台推广专业
  • 门户网站的建设公司台山网站定制
  • 建设公司网站需要什么群辉nas怎么做网站
  • 广西自治区集约化网站建设要求坂田网站的建设
  • 网站后台不能编辑企业如何申请网站
  • 网站建设网站设计多少钱网站系统开发方式
  • 站长收录wordpress配置好后别人无法访问
  • 我国档案网站建设吉林网站建设制作
  • 手机网站底部导航网站视频链接怎么做
  • 企业门户网站属于什么层seo关键词排行优化教程
  • wordpress 演示站广东省南粤交通投资建设有限公司网站
  • 典型的企业网站张家港保税区建设规划局网站
  • 网站设计公司那个好网页设计登录界面模板
  • 做网站的厂家聚美优品网站设计
  • 哈尔滨网站建设效果好网站改版 影响google 404跳首页
  • 廊坊网站推广的公司如何做1个手机网站
  • 网站index.php被修改南京cms建站系统
  • 淘宝网站模板是什么做的北海建设厅网站
  • 我想建个网站想做电商应该怎么入门
  • 广州番禺网站制作推广网站建设徐州百度网络网站
  • 有没有个人做网站的新网站做seo 的效果
  • 做网站和app哪个简单旅游资讯网站建设方案
  • 网站建设考级百度怎样可以搜到自己的网站
  • 自助建站免费自助建站网站广州企业网站
  • 常德论坛尚一网唐山seo网络推广
  • 网站建设预付流程网站设计风格的关键词
  • 常德网站制作怎么做自己的网页
  • 做的网站为什么图片看不了wordpress循环该分类子分类