JVM系列(五):native关键字用法介绍
【摘要】 native关键字修饰的Java方法是一个原生态方法,方法对应的实现Java作用范围达不到,而是在用其他编程语言(如C和C++)文件中实现。Java语言本身不能直接对操作系统底层进行访问和操作,但可以通过JNI接口调用其他编程语言来实现对操作系统底层的访问。
今天继续给大家分享JVM中native关键字用法介绍
1、native概念
native关键字修饰的Java方法是一个原生态方法,方法对应的实现Java作用范围达不到,而是在用其他编程语言(如C和C++)文件中实现。Java语言本身不能直接对操作系统底层进行访问和操作,但可以通过JNI接口调用其他编程语言来实现对操作系统底层的访问。
2、什么是JNI
JNI是Java本机接口(Java Native Interface),是一个本机编程接口,它是Java软件开发工具箱(Java Software Development Kit,SDK)的一部分。JNI允许Java代码调用以其他编程语言编写的代码和代码库。JNI中的Invocation API可以用来将Java虚拟机(JVM)嵌入到本机应用程序中,从而允许开发人员从本机代码内部调用Java代码。
3、为什么要有JNI
- 标准的Java类库可能不支持你的程序业务所需的特殊功能。
- 你之前已经用其他编程语言写成的库或程序,而你希望在Java程序中调用它。
- 你的业务需要底层编程语言实现一个小功能,但JAVA API做不到,在你的Java程序中需要调用这个功能
4、native关键字用法
- native与访问控制符前后修饰顺序不受限制。
- native关键字必须写在返回类型之前
- nativ修饰的一定是非抽象类方法
- native方法在异地实现,类似抽象方法,不能有方法体,要以分号结束
native用法示例:
native public void mynative();
private native void mynative();
public static native mynative();
5、总结
其实在大部分情况下,Java很少能够用到native来实现某些功能,只是针对一些比较特殊的场景才有它的作用,作为JVM的一部分Java程序员还是有必要知道native这个概念的。
目前有很多技术可以实现远程调用功能比如socket、webservice、http等方式会更加适合实现不同编程语言的调用。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)