系统类库,Math,StrictMath.是如何实现功能的

来源:百度知道 编辑:UC知道 时间:2024/06/10 20:49:01
今天在看java.lang包下的类.先看了Math,发现里面的方法如: public static double sqrt(double a) {
return StrictMath.sqrt(a)
}
都是调用StrictMath类,于是又去看StrictMath,发现里面的方法都没有实现.如:
public static native double sqrt(double a);

困惑啊.....
有谁能帮忙解释下,这些方法具体是怎么实现呢???
还有,想学好JAVA有没有必要看类库呢?

还有一些方法.比如System.gc(),是调用了,Runtime的gc()方法,而在Runtime里的代码也没有实现,也只是 public native void gc();这样..
看的越多,发现越多在源代码中是没有实现的....

这些具体的实现应该是没有的,其实java并不是100%开源的,我的理解而已.

native是本地实现,这些带有native标记的实现都被JVM处理了,JVM又不是完全java写的,它有很多C/C++本地方法,都是处理与系统关联或者java效率太低的。