Rumah > Soal Jawab > teks badan
他与fileinputstream 的区别是什么呀?他不是自带缓冲区吗?为什么还需要指定一个byte数组?
阿神2017-04-17 17:50:10
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 menggunakanApabila anda mencipta, ia kelihatan seperti ini
bufferedinputstream
, 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,
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?
PHPz2017-04-17 17:50:10
Tiada hubungan antara penimbalan dan penggunaan tatasusunan untuk menerima kandungan Ini tidak bermakna dengan penimbalan, tidak perlu tatasusunan untuk menerima kandungan.
天蓬老师2017-04-17 17:50:10
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