今天在读FileInputStream类源代码时,发现在实现read()、available()、open()、skip()等方法时调用了外部实现。源代码如下:
public native int read() throws IOException;
public native long skip(long n) throws IOException;
public native int available() throws IOException;那么Java类库中是如何实现这些方法的?

解决方案 »

  1.   

    那就不是java类库中实现它们了,那是C/C++ 写的方法,在dll中被封装
      

  2.   


    C/C++ ?java实现不了这些底层?
      

  3.   

    我知道是调用了本地方法,但是是通过java虚拟机实现?还是通过调用windows的API实现呢?
      

  4.   

    具体的实现方法应该不同的系统不一样把,在装java运行环境时就根据不同的系统配好了把
      

  5.   

    windows中如何实现?给个大概原理就行
      

  6.   

    底层地 东西很复杂
    楼主有兴趣可以去看看linux内核源码,里面有文件读写的具体实现