链接:http://download.java.net/jdk8/docs/api/java/lang/annotation/Native.html
在Java 8中,将有@本机注释。
指示可以从本机代码引用定义常量值的字段。该注释可被生成本机头文件的工具用作提示,以确定是否需要头文件,如果需要,则应包含哪些声明。
问题是:为什么?你知道这个功能能有效地解决哪些问题吗?
发布于 2013-11-15 16:59:03
假设有一个标头,它定义了用于消息传递的常量。对话的一方可能是在C++中开发的,他们希望#include是一个标题。现在,维护两个类似但独立的文件是有风险的;从C++常量派生@Native头更安全。
发布于 2015-02-27 16:19:33
一个很好的例子是serialVersionUID,它是@本地的java 8类。
这样,我们确保java程序的扩展能够很容易地引用串行版本uid,从而确保我们引用了正确的类。
发布于 2019-12-01 06:09:48
我看到了两个原因: 1. Java实现了用于低级API的“装箱”类,比如CUDA --管理一个接口,它声明了所有低级API常量,这比在不同的低级别API版本上管理Java和头文件要安全得多。2.我还想为静态工厂方法(如getInstance() )提供单独的注释。它可以为一些非常流行的设计模式服务。可以很容易地生成相应的JNI代码,但是它非常冗长,手动编码时也不可靠。
https://softwareengineering.stackexchange.com/questions/218538
复制相似问题