zoukankan      html  css  js  c++  java
  • Native关键字

    上一篇:内存溢出(OOM)故障排查—JProfiler

      不知道大家在学习线程的时候有没有注意到Thread这个类中有下面这样一些代码:

    在这里插入图片描述

    在这里插入图片描述
      大家如果看了Thread类的源码的时候就会发现,Thread就是一个普通的class类,

    在这里插入图片描述
    为什么在这个类中可以定义一个类似于接口的方法呢?
    在这里插入图片描述
    我们自己来定义一个这样的方法就会报错:
    在这里插入图片描述
    如果我们加上native关键字的话,情况就不一样了:
    在这里插入图片描述
    加上native关键字的时候,就不会再报错了。

    1.native关键字的作用?

      Native关键字是java编程语言用来调用底层C语言库的。

      虽然现在Java语言非常火,但是最开始是C/C++的天下,后来java吸收了一些好的东西,摒弃了一些不好的东西,逐渐开始走红。也就是说,java底层还是会有一些C/C++(jvm就是C++实现的)的东西,此时java如果想要去调用这些不是java语言实现的代码时就需要使用到Native关键字。

      简而言之,使用native关键字修饰的方法表示此方法不是由java实现的,所以在java中看不到这个方法具体是怎么实现的。

      在之前的一篇文章:

    JVM(一)—基础概念

    里面有一张jvm的概况图:
    在这里插入图片描述
    上图中的Native Method Interface会和JVM进行交互,说白了就是java代码会调用java的底层方法,这也就是我们常说的JNI(Java Native Interface)

  • 相关阅读:
    定时器
    SysTick
    13.看门狗
    12.FSMC
    11.中断
    ##HTML行内块元素好迷啊!!
    ##HTML基础
    ##CS3动画效果
    ##管家婆项目(tools层)
    ##管家婆项目(app层)
  • 原文地址:https://www.cnblogs.com/wgty/p/12810444.html
Copyright © 2011-2022 走看看