102     private static native void registerNatives();
    103     static {
    104         registerNatives();
    105     }native是什么意思?下面的static { 函数调用 }这是什么用法?上面的代码是:jdk1.5.0_06/src/java/lang/Class.java

解决方案 »

  1.   

    native是java语言的一个关键字使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。
    这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。java类中的static块,是该类第一次调用时最先执行的代码段,并且该代码段仅执行一次。
    最先执行意味着先于构造方法,仅执行一次意味着之后的类的创建也好,调用也好,不再执行该段代码
      

  2.   

    谢谢红星,那下面的static { 函数调用 }这是什么用法?
      

  3.   

    static { 函数调用 }是一个静态的初始化块..