102 private static native void registerNatives();
103 static {
104 registerNatives();
105 }native是什么意思?下面的static { 函数调用 }这是什么用法?上面的代码是:jdk1.5.0_06/src/java/lang/Class.java
103 static {
104 registerNatives();
105 }native是什么意思?下面的static { 函数调用 }这是什么用法?上面的代码是:jdk1.5.0_06/src/java/lang/Class.java
这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这也是java的底层机制,实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。java类中的static块,是该类第一次调用时最先执行的代码段,并且该代码段仅执行一次。
最先执行意味着先于构造方法,仅执行一次意味着之后的类的创建也好,调用也好,不再执行该段代码