Java关键字之native

第一次注意到native是在java.lang.Float源码中的一个intBitsToFloat方法:

public static native float intBitsToFloat(int bits);

这个方法的作用是将数据转成IEEE754单精度浮点型。这个方法是怎么实现的呢?native在这里是干嘛的呢?引起了我的探索欲。从网上找了一些材料,做一下记录。

认识native

声明native的方法:

  1. native用在类的method前面,表示这个method不是用java实现的。
  2. 使用native关键字说明这个方法是原生函数,也就是这个方法使用C/C++语言实现的,并且被编译成了dll,由java来调用。
  3. native的意思就是通知操作系统,让操作系统来实现这个方法,而Java只能调用操作系统实现的这个函数。
  4. java要实现对底层的控制,就需要使用native来调用其他语言(C/C++)的方法来实现。

了解一下JNI

JNI(Java Native Interface):Java本地接口,它允许Java代码和其他语言写的代码进行交互,JNI一开始是为了本地已编译语言,尤其是C和C++设计的。
使用Java与本地已编译代码交互,通常会丧失平台可移植性。但是有些情况下这样做事可以接受的,甚至是必须的。

想了解更多关于Native的介绍请参考下面的链接

参考文档:

https://www.cnblogs.com/KingIceMou/p/7239668.html
https://www.jb51.net/article/79348.htm

原文地址:https://www.cnblogs.com/warylee/p/13545496.html