- PR -

BufferedInputStream#available()が0をかえす

投稿者投稿内容
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-03-26 13:34
BufferedInputStreamのバルクread(複数byteをまとめてread)メソッドは、内部で効率の良いコピー作業が行われています。System#arraycopy()が使用されています。
FileInputStreamのバルクreadメソッドは、nativeメソッドに委譲されています。JVM側で効率の良いバルクreadを実装する余地があるということですね。
どちらも、1byte毎のread()を繰り返すより、効率が良くて当然ですよね^^;

#APIのソースコードを読むだけで解決する問題や疑問って、結構多いですよね。
#Eclipse JDTのビジュアルデバッガを使用するようになって、手軽にコアAPIの内部まで追えるようになり、コアAPIのソースコードを読む機会が格段に増えました。

スキルアップ/キャリアアップ(JOB@IT)