native:
凡是带了native关键字的,说明Java的作用范围达不到了,需要调用底层C语言的库。凡是带了native关键字会进入本地方法栈,会调用本地方法接口(JNI),JNI的作用是扩展Java的使用,使Java可以融合不同的编程语言为Java所用。

历史:
在Java诞生的时候,C和C++横行,Java想要立足就必须要有调用C、C++的程序,于是在内存区域中专门开辟了一块标记区域:本地方法栈;登记native方法,在最终执行的时候,通过JNI加载本地方法库中的方法。

使用场景:
使用Java操作硬件、用Java驱动打印机、使用Java管理系统

native关键字(涉及本地方法栈)相关推荐

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

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

  2. JVM_03 运行时数据区 [ 程序计数器+本地方法栈 ]

    一. 程序计数器 ①. 作用,是用来存储指向下一条指令的地址,也即将要执行的指令代码.由执行引擎读取下一条指令 ②. 特点:①. 是线程私有的 ②. 不会存在内存溢出 ③. 注意:在物理上实现程序计数 ...

  3. 四.运行时数据区-本地方法栈(Native Method Stack)-堆-方法区

    1. 前言:本地方法接口 1.1 本地方法 简单来讲,一个Native Method就是一个java调用非java代码的接口,一个Native Method 是这样一个java方法:该方法的实现由非J ...

  4. 本地方法栈及native方法

    最近开始看<深入理解Java虚拟机>,确实是本宝书. 看到虚拟机栈和本地方法栈的区别的时候有点疑惑,因为本地方法栈为虚拟机的Native方法服务.以下转载一篇关于native方法的介绍: ...

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

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

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

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

  7. 【JVM】运行时数据区概述(程序计数器、虚拟机栈、本地方法栈)

    前言 本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段 当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会 ...

  8. JVM - 结合代码示例彻底搞懂Java内存区域_线程栈 | 本地方法栈 | 程序计数器

    文章目录 Pre 运行时数据区总览 线程栈 概要 栈内部主要组成部分 局部变量 操作数栈 动态链接 方法出口 小结 程序计数器 本地方法栈 附 测试demo javap JVM字节码指令集手册 Pre ...

  9. JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理

    1.数据结构栈 栈是一种比较简单的数据结构,后进先出.栈本身是一个线性表,但是这个表中只有一端允许数据的进出.栈的常用操作包括入栈push和出栈pop,对应于数据的压入和弹出.由于栈后进先出的特性,常 ...

最新文章

  1. 解决360浏览器偶发性会闪屏一下黑色的背景
  2. ubuntu 安装yum_如何在 Linux 中安装微软的 .NET Core SDK | Linux 中国
  3. Windows 窗体设计器中的设计时错误
  4. DataFountain训练赛 | 用户逾期行为预测
  5. 《Artifact》的得与失:成功的游戏工业品,却与主流背道而驰
  6. LiveVideoStack线上分享第三季(十三):腾讯云LiteAVSDK演进之路
  7. java bitset_Java BitSet and()方法与示例
  8. Mr.J-- 图片墙动画效果
  9. 中农大计算机组成原理在线作业1,河北农大2017计算机组成原理_在线作业_1课案.docx...
  10. html 调用c#dll中的控件,C#实现反射调用动态加载的DLL文件中的方法和在窗体中加载DLL文件的用户控件...
  11. __doPostBack()没有定义解决方法(转)
  12. Java中内存泄漏八种情况的总结
  13. 机器翻译市场需求调研报告
  14. 计算机网络-报文交换与分组交换
  15. 【图解HTTP】——Web的攻击技术
  16. 【苹果开发者账号】记一次苹果账号付款失败,报 未完成付款 的问题,全网都没解决办法!
  17. Aladdin and the Flying Carpet LightOJ - 1341
  18. Codeforces 1027C. Minimum Value Rectangle
  19. transform模板函数调用tolower函数报错原因、解决办法
  20. 日拱一卒,“功不唐捐

热门文章

  1. ListView 条目加载上滑下滑首尾缩放动画实现
  2. 【Oracle AWR详解分析-02】
  3. RTOS原理与实现12:性能测量
  4. Linux操作系统原理与应用01:概述
  5. 【CMAKE系列】cmake中CMakeLists.txt脚本的常用语法
  6. 电脑磁盘空间不足怎么办_Mac磁盘总是提示空间不足?学会这几招,瞬间腾出几个G...
  7. Linux C基础笔记(2)
  8. mysql navicat报表_使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
  9. k1075停运吗_列车停运计划
  10. 搜狗浏览器广告拦截插件_拦截烦人的网页广告,增加上网体验