转自: http://blog.csdn.net/youjianbo_han_87/article/details/2586375


native是与C++联合开发的时候用的!java自己开发不用的!

【1】使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。

  • 1.0)这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。
  • 1.1) native 是用做java 和其他语言(如c++)进行协作时用的 也就是native 后的函数的实现不是用java写的 ;
  • 1.2)既然都不是java,那就别管它的源代码了,呵呵;

【2】native的意思就是通知操作系统, 这个函数你必须给我实现,因为我要使用。

  • 2.1)所以native关键字的函数都是操作系统实现的, java只能调用。
  • 2.2) java是跨平台的语言,既然是跨了平台,所付出的代价就是牺牲一些对底层的控制,而java要实现对底层的控制,就需要一些其他语言的帮助,这个就是native的作用了

java native关键字(java本地方法)相关推荐

  1. native关键字(本地方法)、 java调用so动态链接库

    Java native关键字 一. 什么是Native Method    简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个j ...

  2. 46栈内存溢出、内存区域(程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区、直接内存、内存溢出)与内存溢出(对象实例化分析)

    46.什么情况下会发生栈内存溢出 46.1.Java 内存区域与内存溢出 46.1.1.内存区域 46.1.1.1.程序计数器 46.1.1.2.Java 虚拟机栈 46.1.1.3.本地方法栈 46 ...

  3. 12.JDK1.8 JVM运行时数据区域概览、各区域介绍、程序计数器、Java虚拟机栈、本地方法栈、堆、堆空间内存分配(默认情况下)、字符串常量池、元数据区、jvm参数配置

    12.JDK1.8 JVM运行时数据区域概览 12.1.JDK1.8 JVM运行时数据区域概览 12.2.各区域介绍 12.3.各区域介绍 12.3.1.程序计数器 12.3.2.Java虚拟机栈 1 ...

  4. java native 关键字

    今天在看Javase中的classLoder类的源码时,发现一直找不到 private native final Class<?> findLoadedClass0(String name ...

  5. java ab工具_(ab)使用Java 8 FunctionalInterfaces作为本地方法

    java ab工具 如果您正在使用更高级的语言(例如Scala或Ceylon,甚至JavaScript)进行编程,则"嵌套函数"或"本地函数"是您非常常见的习惯 ...

  6. (ab)使用Java 8 FunctionalInterfaces作为本地方法

    如果您使用Scala或Ceylon甚至JavaScript等更高级的语言进行编程,则"嵌套函数"或"本地函数"是您非常常见的习惯用法. 例如,您将编写诸如fib ...

  7. Java new关键字和newInstance()方法的区别

    1.类的加载方式不同 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段.在使用 ...

  8. 什么是java本地方法?什么,还没听说过java的native关键字?真的该学学了!

    目录 开局一张图 什么是本地方法? 举例 为什么要使用Native Method 现状 本地方法栈 开局一张图 什么是本地方法? 简单地讲,一个Native Method就是一个Java调用非Java ...

  9. java 本地方法栈_JVM学习笔记-本地方法栈(Native Method Stacks)

    本地方法栈(Native Method Stacks)与虚拟机栈所发挥的作用是非常相似的,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的Native ...

最新文章

  1. CSS3--选择器、动画效果
  2. XMLHTTP使用具体解释
  3. C++中多态与虚函数的学习例子
  4. [android] 切换按钮-自定义控件-拖动效果
  5. ECMAScript5 ES5
  6. 解决代码中重复的捕获 promise 错误的 try catch 语句
  7. WebLogic安装Linux centos7
  8. java产生字符函数_java生成字符串md5函数类(javaSE)
  9. 在Qt Creator以外编写Qt程序
  10. 20145335 《信息安全系统设计基础》课程总结
  11. Go Web 编程--超详细的模板库应用指南
  12. C#不区分大小写的字符串替换(Replace)函数
  13. ALinq 让Mysql变得如此简单
  14. Normalization的方法
  15. 给Ubuntu安装MacOS主题
  16. 对C#中事件的简单理解
  17. SEGGER Embedded Studio 搭建开发环境
  18. android自动识别文字,Android文字识别tesseract ocr -训练样本库 识别字库
  19. 荣耀路由器w831刷linux,华为荣耀WS831路由器设置的方法
  20. SDN的基本概念和基本架构

热门文章

  1. [HNOI2015] 接水果(倍增 + 整体二分)
  2. P3389-[模板]高斯消元法
  3. P3899 [湖南集训]更为厉害(线段树合并、长链剖分、二维数点)
  4. 2020 China Collegiate Programming Contest Qinhuangdao Site 补题部分
  5. 【状压DP】吃货JYY(luogu 6085)
  6. [bzoj 4811] 由乃的OJ(贪心 + 树链剖分)
  7. 网络流及建模专题(上)
  8. 汇编语言(五)之数组中正数和负数分离
  9. Spring 自动装配 ‘byType’
  10. JVM 调优系列之图解垃圾回收