1.什么是本地方法?

本地方法就是java代码里面写的native方法,它没有方法体。是为了调用C/C++代码而写的。在JNI程序里面使用。
例子:
下面的代码在java中声明了一个本地方法,但是没有实现,它的实现是在c或者c++代码中。(JNI编程中会涉及到本地方法)

public static native void jniInitialize();
  • 1

2. 为什么要使用Native method?

在开发过程中,有些功能可能是使用c或者c++实现的,有时候为了能够复用这些功能,就需要使用Native method。还有一点就是操作系统底层的功能也需要使用本地方法去调用。

了解:
1.JVM的实现,为了与操作系统底层进行交互,就使用了本地方法。
2.JVM自己的代码,有一部分使用C实现的,这些代码的使用也需要使用本地方法。

更多JVM文章请访问我的JVM专栏:
https://blog.csdn.net/u011069294/category_10113093.html

文章知识点与官方知识档案匹配,可进一步学习相关知识
Java技能树首页概览118326 人正在系统学习中

【转帖】26.Java本地方法的理解(native方法)的更多相关文章

  1. JVM本地方法栈及native方法

    看到虚拟机栈和本地方法栈的区别的时候有点疑惑,因为本地方法栈为虚拟机的Native方法服务.以下转载一篇关于native方法的介绍: http://blog.csdn.net/wike163/arti ...

  2. java如何写自己的native方法实现调用本地的c++库?

    等待编辑 1:首先可以找一本jni    java native interface相关的书籍来看.

  3. java 本地方法(JNI)

    最近搞了一个调用第三方so库做登录认证的任务,以前对JNI没什么概念,最近学习了 <java核心技术> 本地方法 一章,把自己写的一些例子记录一下. 自己C语言真是渣渣,所以所有的例子都在 ...

  4. java高级用法之:无所不能的java,本地方法调用实况

    目录 简介 JDK的本地方法 自定义native方法 总结 简介 相信每个程序员都有一个成为C++大师的梦想,毕竟C++程序员处于程序员鄙视链的顶端,他可以俯视任何其他语言的程序员. 但事实情况是,无 ...

  5. 【Java】main方法的理解

    main方法的理解 main()方法作为程序的入口 main()方法也是一个普通的静态方法 main()方法可以作为我们与控制台交互的方式.(之前:使用Scanner) main方法中的参数args就 ...

  6. 【java】详解native方法的使用

    目录结构: contents structure [+] 关于native关键字 使用native关键字 使用步骤 案例 编写.java文件 编译.java文件 获得.h文件 编写hello.cpp文 ...

  7. JAVA深入研究——Method的Invoke方法。

    在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java ...

  8. JAVA深入研究——Method的Invoke方法

    http://www.cnblogs.com/onlywujun/p/3519037.html 在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用 ...

  9. JAVA深入研究——Method的Invoke方法(转)

    在写代码的时候,发现Method可以调用子类的对象,但子类即使是改写了的Method,方法名一样,去调用父类的对象也会报错,虽然这是很符合多态的现象,也符合java的动态绑定规范,但还是想弄懂java ...

  10. JAVA反射机制及理解

    JAVA反射 往往当我们面对一项新的知识时,我们往往需要知道三个方面,它是什么,它能做什么,它比原有知识强在哪里,我们该怎么使用它.当你能够解决这些问题时,便意味着你已经对这项知识入门了. 首先: 反 ...

随机推荐

  1. bazel 使用 gtest/gmock 报错 Constraints from @bazel_tools//platforms have been removed

    问题描述 运行 bazel test 命令,遇到错误:"Constraints from @bazel_tools//platforms have been removed. Please ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (32)-- 算法导论5.2 4题

    四.利用指示器随机变量来解如下的帽子核对问题(hat-heck problem):n位顾客,他们每个人给餐厅核对帽子的服务生一顶帽子.服务生以随机顺序将帽子归还给顾客.请问拿到自己帽子的客户的期望数是 ...

  3. 作为所有类的顶层父类,没想到Object的魔力如此之大!

    写在开头 在上一篇博文中我们提到了Java面向对象的四大特性,其中谈及"抽象"特性时做了一个引子,引出今天的主人公Object,作为所有类的顶级父类,Object被视为是James ...

  4. 解析Spring内置作用域及其在实践中的应用

    摘要:本文详细解析了Spring的内置作用域,包括Singleton.Prototype.Request.Session.Application和WebSocket作用域,并通过实例讲解了它们在实际开 ...

  5. 昇腾实战丨DVPP媒体数据处理图片解码问题案例

    摘要:本期就分享几个关于DVPP图片解码问题的典型案例,并给出原因分析及解决方法. 本文分享自华为云社区<DVPP媒体数据处理图片解码问题案例>,作者:昇腾CANN . DVPP(Digi ...

  6. 华为中国生态大会2021举行在即,GaussDB将重磅发布5大解决方案

    摘要:企业数字化转型如火如荼,云成为数字化与新基建的关键要素,数据成为智能时代新的生产资料和企业数字化的生命,而数据库则是支撑数据生命线的底座. 本文分享自华为云社区<华为中国生态大会2021举 ...

  7. 实例讲解FusionInsight MRS RTD 实时决策引擎在医保行业应用

    摘要: 通过引入FusionInsight RTD实时决策系统,实现医保费用事前预防.事中控制.事后审核的全流程管理 本文分享自华为云社区<FusionInsight MRS RTD 实时决策引 ...

  8. vue2升级vue3: 全局变量挂载与类型声明

    全局变量挂载 vue2 Vue.prototype.$lm = {} vue3 const app = Vue.createApp({}) app.config.globalProperties.$l ...

  9. 总结vue3 的一些知识点:​Vue.js 条件语句​

    Vue.js 条件语句 条件判断 v-if 条件判断使用 v-if 指令: v-if 指令 在元素 和 template 中使用 v-if 指令: <div id="app" ...

  10. Python 数组比较

    a = [1, 2, 3, 5, 6, 5, 7, 8] b = [1, 3, 4, 5, 6, 3, 8, 7] print('A => %s' % a) print('B => %s' ...