由于现在的项目及以后的项目将大量使用JNI调用,故打算做一则系列文章供参考及讨论。本文是关于JNI的基础知识。

JNI是Java代码与本地代码交互的桥梁,有两种方式:(1)在Java中加载动态链接库 (2)使用JNI Invocation inteface,在native code中创建JVM

这种交互是双向的,即Java可以访问本地代码中的变量和函数,本地代码也可以访问Java类的成员和成员方法。

JNI规范给出了一个简单的例子,说明在Windows和Soloris上如何编译,生成及运行JNI代码。

在Windows上,使用cl编译器把本地代码生成dll文件。Soloris上,使用cc编译器生成.so文件。Android平台提供了专门的NDK工具,把本地代码生成.so文件。

转载于:https://www.cnblogs.com/RayLee/archive/2010/10/21/1857499.html

JNI系列(1):基础篇相关推荐

  1. (一)JAVA基于OPENXML的word文档插入、合并、替换操作系列之基础篇

    (一)JAVA基于OPENXML的word文档插入.合并.替换操作系列之基础篇 前言 什么是Open Xml? Open XML SDK 这系列笔记要做点什么? 涉及技术点 关于word.openxm ...

  2. 视频教程-C# For Unity系列之基础篇-Unity3D

    C# For Unity系列之基础篇 二十多年的软件开发与教学经验IT技术布道者,资深软件工程师.具备深厚编程语言经验,在国内上市企业做项目经理.研发经理,熟悉企业大型软件运作管理过程.软件架构设计理 ...

  3. Android自定义控件系列之基础篇

    一.概述 在android开发中很多UI控件往往需要进行定制以满足应用的需要或达到更加的效果,接下来就通过一个系列来介绍自定义控件,这里更多是通过一些案例逐步去学习,本系列有一些典型的应用,掌握好了大 ...

  4. android图片压缩上传系列-基础篇

    开发中遇到需要上传图片的场景还是很常见的,这就涉及到图片的压缩处理.如果不进行压缩,势必造成消耗大量的流量,下载图片的速度慢等. 关于android如何压缩,网上的资料也是很多,但大多数都是代码片段, ...

  5. Python全栈之路系列之基础篇

    Python的诞生 Python是著名的"龟叔"Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python语 ...

  6. VMware 从菜鸟到高手系列之基础篇

    整个实验环境所需要的虚拟机机器列表,包括机器名称.IP和所安装所需软件如下表: 服务器角色 操作系统 机器名 IP地址 所需安装介质 Connection Server Windows Server ...

  7. Python高级网络编程系列之基础篇

    一.Socket简介 1.不同电脑上的进程如何通信? 进程间通信的首要问题是如何找到目标进程,也就是操作系统是如何唯一标识一个进程的! 在一台电脑上是只通过进程号PID,但在网络中是行不通的,因为每台 ...

  8. 框架的特性_Go 语言 Web 框架 Echo 系列:基础篇—通过一个例子串联各特性

    通过前面的介绍,相信对 echo 有了一个初步的认识.本文我们通过一个简单的登录页面来串联 echo 的相关特性.因为该文主要关注各个特性,所以在目录结构和代码组织方面很随意. 本节最终效果 1)登录 ...

  9. Apache Doris 系列: 基础篇-Flink SQL写入Doris

    简介 本文介绍 Flink SQL如何流式写入 Apache Doris,分为一下几个部分: Flink Doris connector Doris FE 节点配置 Flink SQL 写 Doris ...

  10. python高级网络编程_Python高级网络编程系列之基础篇

    一.Socket简介 1.不同电脑上的进程如何通信? 进程间通信的首要问题是如何找到目标进程,也就是操作系统是如何唯一标识一个进程的! 在一台电脑上是只通过进程号PID,但在网络中是行不通的,因为每台 ...

最新文章

  1. ganglia-介绍安装(二)
  2. 慢动作输出Linux命令结果并用彩色显示
  3. iPhone开发各种图标大小
  4. DWZ(JUI)的lookupGroup增加回调函数
  5. python学习方法_十二种学习Python的方法
  6. python(45)内置函数:os.system() 和 os.popen()
  7. 【STM32 .Net MF开发板学习-16】Zigbee遥控智能小车
  8. POJ 2449 Remmarguts' Date (SPFA + A星算法) - from lanshui_Yang
  9. Linux下Oracle中sqlplus上下键乱码问题
  10. Typora保留文本格式
  11. 吴伯凡-认知方法论-认知是一个长期修炼的过程
  12. 高版本IE中弹出窗口不显示IE地址栏的解决方法
  13. Java学习手册:大疆创新2020届校园招聘——软件类岗位B卷题一
  14. 物联网开发常用的开发板_物联网开发人员简介:物联网开发人员调查的结果
  15. 为什么用线程池?解释下线程池参数?
  16. java电子配件公司仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  17. 信奥日记——动态规划(动规初步)
  18. RAID区别和特点(全)
  19. An infrared and visible image fusion algorithm based on ResNet‑152
  20. java spring ioc 实例_Spring 源码阅读(IOC容器)-bean的实例化以及注入

热门文章

  1. 微信云服务器有效期,关于云存储文件有效期问题总结
  2. 聊天机器人-ChatterBot初试
  3. springboot 优雅关闭_Springboot 优雅停止服务的几种方法
  4. requestmapping里面的参数_golang web开发——参数绑定(上)之用Go实现简单的Trie
  5. 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin module 'allure.pytest_plugin'
  6. 洛谷 P1031 均分纸牌【交叉模拟】
  7. 《需求工程——软件建模与分析》阅读笔记之一
  8. S50 14443卡和15693卡 读写研究
  9. DEDE内容页调用栏目的SEO标题、描述、关键字的方法
  10. [软件工程学习笔记]浅谈敏捷开发