Bagaimanakah saluran dan penimbal Java NIO berfungsi?
Saluran dan penimbal ialah objek teras dalam NIO, dan ia digunakan dalam hampir setiap operasi I/O.
Saluran ialah emulasi strim dalam pakej I/O asal. Semua data ke mana-mana destinasi (atau dari mana-mana) mesti melalui objek Saluran. Penampan pada asasnya ialah objek bekas. Semua objek yang dihantar ke saluran mesti terlebih dahulu diletakkan dalam penimbal, sama seperti mana-mana data yang dibaca dari saluran mesti dibaca ke dalam penimbal.
Apakah penimbal?
Buffer ialah objek yang mengandungi beberapa data untuk ditulis atau dibaca sahaja. Penambahan objek Penampan pada NIO mencerminkan perbezaan penting antara perpustakaan baharu dan I/O asal. Dalam I/O berorientasikan aliran, anda menulis atau membaca data terus ke dalam objek Strim.
Dalam pustaka NIO, semua data dikendalikan menggunakan penimbal. Apabila membaca data, ia dibaca terus ke dalam penimbal. Apabila data ditulis, ia ditulis ke penimbal. Pada bila-bila masa anda mengakses data dalam NIO, anda meletakkannya ke dalam penimbal.
Penimbal pada asasnya ialah tatasusunan. Biasanya ia adalah tatasusunan bait, tetapi tatasusunan jenis lain juga boleh digunakan. Tetapi penimbal adalah lebih daripada sekadar tatasusunan. Penampan menyediakan akses berstruktur kepada data dan juga boleh menjejaki proses baca/tulis sistem.
Jenis Penampan
Jenis penimbal yang paling biasa digunakan ialah ByteBuffer. ByteBuffer boleh melakukan operasi dapatkan/set (iaitu, mendapatkan dan menetapkan bait) pada tatasusunan bait asasnya.
ByteBuffer bukan satu-satunya jenis penimbal dalam NIO. Malah, terdapat jenis penimbal untuk setiap jenis Java asas:
ByteBuffer CharBuffer ShortBuffer IntBuffer LongBuffer FloatBuffer DoubleBuffer
Setiap kelas Penampan ialah contoh antara muka Penampan. Kecuali untuk ByteBuffer, setiap kelas Buffer mempunyai operasi yang sama, tetapi jenis data yang dikendalikannya berbeza. Oleh kerana kebanyakan operasi I/O standard menggunakan ByteBuffer, ia mempunyai semua operasi penimbal yang dikongsi serta beberapa operasi unik.
Kini anda boleh meluangkan sedikit masa untuk menjalankan UseFloatBuffer.java, yang mengandungi contoh penggunaan penimbal yang ditaip.
Apakah itu saluran?
Saluran ialah objek yang melaluinya data boleh dibaca dan ditulis. Membandingkan NIO dengan I/O asal, saluran adalah seperti strim.
Seperti yang dinyatakan sebelum ini, semua data dikendalikan melalui objek Penampan. Anda tidak sekali-kali menulis bait terus ke saluran sebaliknya, anda menulis data ke dalam penimbal yang mengandungi satu atau lebih bait. Sekali lagi, anda tidak membaca bait terus daripada saluran, anda membaca data daripada saluran ke dalam penimbal dan mendapatkan bait ini daripada penimbal.
Jenis Saluran
Perbezaan antara saluran dan strim ialah saluran itu dwiarah. Walaupun strim hanya bergerak dalam satu arah (strim mestilah subkelas InputStream atau OutputStream), saluran boleh digunakan untuk membaca, menulis atau kedua-duanya.
Oleh kerana ia adalah dwiarah, saluran boleh mencerminkan realiti sistem pengendalian asas lebih baik daripada strim. Terutamanya dalam model UNIX, saluran sistem pengendalian asas adalah dua arah.
Atas ialah kandungan terperinci Bagaimanakah saluran dan penimbal Java NIO berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Nombor Sempurna di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor Perfect dalam Java?, contoh dengan pelaksanaan kod.

Panduan untuk Weka di Jawa. Di sini kita membincangkan Pengenalan, cara menggunakan weka java, jenis platform, dan kelebihan dengan contoh.

Panduan untuk Nombor Smith di Jawa. Di sini kita membincangkan Definisi, Bagaimana untuk menyemak nombor smith di Jawa? contoh dengan pelaksanaan kod.

Dalam artikel ini, kami telah menyimpan Soalan Temuduga Spring Java yang paling banyak ditanya dengan jawapan terperinci mereka. Supaya anda boleh memecahkan temuduga.

Java 8 memperkenalkan API Stream, menyediakan cara yang kuat dan ekspresif untuk memproses koleksi data. Walau bagaimanapun, soalan biasa apabila menggunakan aliran adalah: bagaimana untuk memecahkan atau kembali dari operasi foreach? Gelung tradisional membolehkan gangguan awal atau pulangan, tetapi kaedah Foreach Stream tidak menyokong secara langsung kaedah ini. Artikel ini akan menerangkan sebab -sebab dan meneroka kaedah alternatif untuk melaksanakan penamatan pramatang dalam sistem pemprosesan aliran. Bacaan Lanjut: Penambahbaikan API Java Stream Memahami aliran aliran Kaedah Foreach adalah operasi terminal yang melakukan satu operasi pada setiap elemen dalam aliran. Niat reka bentuknya adalah

Panduan untuk TimeStamp to Date di Java. Di sini kita juga membincangkan pengenalan dan cara menukar cap waktu kepada tarikh dalam java bersama-sama dengan contoh.

Kapsul adalah angka geometri tiga dimensi, terdiri daripada silinder dan hemisfera di kedua-dua hujungnya. Jumlah kapsul boleh dikira dengan menambahkan isipadu silinder dan jumlah hemisfera di kedua -dua hujungnya. Tutorial ini akan membincangkan cara mengira jumlah kapsul yang diberikan dalam Java menggunakan kaedah yang berbeza. Formula volum kapsul Formula untuk jumlah kapsul adalah seperti berikut: Kelantangan kapsul = isipadu isipadu silinder Dua jumlah hemisfera dalam, R: Radius hemisfera. H: Ketinggian silinder (tidak termasuk hemisfera). Contoh 1 masukkan Jejari = 5 unit Ketinggian = 10 unit Output Jilid = 1570.8 Unit padu menjelaskan Kirakan kelantangan menggunakan formula: Kelantangan = π × r2 × h (4

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.
