首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于native方法?解决办法

2012-01-08 
关于native方法?在Object.class里看到如下一段代码private static native void registerNatives()static

关于native方法?
在Object.class里看到如下一段代码
private static native void registerNatives();
static {
registerNatives();
}
在网上查了查,大致了解native是java调用其他语言编写的可执行程序的一个接口,但都没有实例,也不能更深刻的认识。希望给个小例子,让我一目了然。还有,顺便说一下下面的static直接加花括号的作用。

[解决办法]

引用楼主 leiht 的帖子:
在Object.class里看到如下一段代码
private static native void registerNatives();
static {
registerNatives();
}
在网上查了查,大致了解native是java调用其他语言编写的可执行程序的一个接口,但都没有实例,也不能更深刻的认识。希望给个小例子,让我一目了然。还有,顺便说一下下面的static直接加花括号的作用。

[解决办法]
顶楼上,native声明的方法代表改方法体是由本地方法实现的。
static加载的代码块为静态代码块,当程序被加载到内存时执行一次。
[解决办法]
顶楼上,native声明的方法代表改方法体是由本地方法实现的。
static加载的代码块为静态代码块,当程序被加载到内存时执行一次。
[解决办法]
的确,native方法是用非java语言实现的,至于static代码块就是静态代码块了,加载这个类的时候括号内代码执行一次
[解决办法]
关于native方法是如何实现的,java核心技术里面有介绍,static是静态初始化块,当类加载入虚拟机时执行。
native的实现例子最多的是jdk,因为jdk大部分基础功能都是用native实现的,你可以下载jdk源代码查看native方法的实现,源代码可以到sun官方下载到。
[解决办法]
native方法可能用c、c++也可能用汇编实现。和具体的系统环境有关系,要不不会平台独立。
[解决办法]
Java code
public class dll {    public synchronized native static String coding(String sin); //加密    public synchronized native static String decoder(String sin); //解密    static{     System.loadLibrary("javaDC");     }} 

热点排行