如Throwable类中的方法:
    public synchronized native Throwable fillInStackTrace();
是不是在java jdk安装的时候就将dll文件打入系统了呢?该怎么样看这个方法的实现呢?

解决方案 »

  1.   

    是虚拟机实现的,你要看那你找java虚拟机源代码或者别的虚拟机提供的源代码咯
    肯定各家实现不一样
    --signature------------------
    http://www.mowker.com/list/
      

  2.   

    我这有java的源代码呀,
    public class Throwable
    public class ClassCastException extends RuntimeException 
    public class RuntimeException extends Exception 
    你们说的代码不是这些吗?
      

  3.   

    这不是java本身的类库代码
    native 代表这段代码是本地实现
    也就是说,这个方法无法由java本身实现,而是调用了操作系统的函数实现的
    比如说file处理的时候,windows和linux对于文件句柄的处理就会交由jvm由操作系统本身去处理
    你也可以简单的理解为就是调用系统dll
      

  4.   

    楼上的意思是:public synchronized native Throwable fillInStackTrace();这个方法调用了操作系统的函数吗?应该是调用了java的一个本地的代码吧
      

  5.   

    不需要关心他具体调用的是什么,只要知道他调用了一个非java的实现,而是native"本地"的实现
    理解成接口吧,只不过这个接口的实现是有本地代码提供的
      

  6.   

    一定要看实现的话,只有去找相应系统的jvm的源代码了