java - bufferedinputstream也需要指定一个数组长度呀?并没有什么用呀?
PHP中文网
PHP中文网 2017-04-17 17:48:10
0
3
714

他与fileinputstream 的区别是什么呀?他不是自带缓冲区吗?为什么还需要指定一个byte数组?

PHP中文网
PHP中文网

认证0级讲师

membalas semua(3)
阿神

Cachenya dan cache anda sendiri bukanlah konsep yang sama. Proses umum adalah seperti berikut.

Apabila menggunakan aliran input tanpa caching

Setiap kali anda membaca, sistem melakukan operasi baca untuk membaca data Jika anda menentukan bait untuk dibaca, ia akan membaca satu bait, jika anda menentukan tatasusunan, ia akan membaca tatasusunan perbezaan antara program dan data anda Kecekapan membaca mempunyai hubungan yang hebat.

dan apabila menggunakan

, ia kelihatan seperti ini bufferedinputstream

Apabila anda mencipta

, ia akan bufferedinputstream serta-merta membaca data dan memasukkannya ke dalam memori yang diuruskan oleh jvm Setiap kali anda membacanya,
ia tidak akan pergi ke sana lagi. . Membaca daripada sistem akan membacanya dari ingatan. Data , dan kemudian tentukan sama ada terdapat banyak baki dalam memori Jika tidak, ia akan mengarahkan sistem untuk membaca operasi sama ada anda membaca bait atau tatasusunan, sistem tidak semestinya Akan mengendalikan cakera keras. Korelasi antara kecekapan program anda dan pembacaan data adalah sangat kecil.
Fikirkan tentangnya dari sudut lain,

Jika anda menggunakan strim tanpa penimbal, buka fail dan kemudian tutupnya dengan segera, sistem

tidak akan membuat sebarang panggilan data
, dan penutupan akan dilaksanakan dengan cepat. Dan jika anda membuka fail dengan strim buffer, walaupun ia ditutup serta-merta tanpa membaca, penutupan tidak akan dilaksanakan serta-merta, dan sistem telah pun membaca sebahagian daripada data ke dalam memori
, yang akan menjadi kurang cekap daripada menggunakan tanpa penimbal. Sudah tentu tiada siapa yang akan bosan untuk mencipta aliran dan kemudian menutupnya tanpa membacanya, bukan?

PHPzhong

Tiada hubungan antara penimbalan dan penggunaan tatasusunan untuk menerima kandungan Ini tidak bermakna dengan penimbalan, tidak perlu tatasusunan untuk menerima kandungan.

Peter_Zhu

Oleh kerana kami berharap dapat menggunakan semula bait ini[], jika tidak, apabila berhadapan dengan penghantaran IO aliran data yang besar, anda akan mendapati YGC akan sangat gembira

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan