Nco kuas hauv java yog dab tsi?

Nco kuas hauv java yog ib theem tsis tswvyim kom ntau nraaj thov I/O. Feem ntau peb siv kwj lossis tsis kwj ua ntaub ntawv I/O. Txawm hais tias buffered cov kwj lug siv kom tau cov ntawv uas tawm tswv yim los ntawm cov ntaub ntawv thiab cov zis, tab sis nco kuas yog cov txheej txheem qhov kawg uas yuav siv tau rau kev kawm ntawv kom ruaj. Nyob rau hauv daim ntawv qhia kev nco, cov ntaub ntawv uas lub cev no mapped nrog lub cim xeeb thiab ces tus I/O yam nyob hauv lub cim xeeb mapped ncaj nraim. Vim li ntawd cov cov I/O no tau rau lub cev xwb. Tab sis koj yuav tsum tau ceevfaj txog lub cim xeeb pab. Nws ib txwm pom zoo kom map lub cim xeeb nyob rau hauv chunks me me thiab mam li los nyeem/sau rau hauv ntaub ntawv. Nws yuav tsub kom txoj kev kawm thiab kuj qhia lub cim xeeb tom qab siv tas. Yog hais tias koj xav map cov ntaub ntawv loj tas nrho rau hauv nco ces nws yuav tswj lawv xwb.

Nyob rau hauv qhov piv txwv nram qab no, peb yuav siv cov RandomAccessFile tuaj nyeem thiab sau ntawv. Peb yuav tsim ib tug ntawv channel thiab ces siv cim xeeb kuas map ntawv nrog kev nco. Ntawm no MappedByteBuffer yog ib tug tib neeg tsis siv nrog rau tej ntaub ntawv. Thaum kuas koj yuav pav lub pib thiab xaus point nyeem ntawv los yog sau ntawv. Cov txheej txheem no yuav pab koj map ib tug thaj av ntawm ib cov ntaub ntawv thiab xa cov ntaub ntawv I/O.

Coj kev cai:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package JavaTips.com;

ntshuam java.io.*;
ntshuam java.nio.*;
ntshuam java.nio.channels.*;

/**
*
* @author kaushikp
*/
tsev kawm JavaMemoryMap {

/**
* @param args rau cov lus hais kom ua kab
*/

zoo li qub rau cov menyuam ntev = 2048; // 128 Mb
pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua[] args) throws kos {

//Tsim RandomAccessFile thiab FileChannel
RandomAccessFile raf = RandomAccessFile tshiab(“memorymaptest.dat”, “rw”);
FileChannel fc = raf.getChannel();

//Mapping cov ntaub ntawv uas siv cov ntaub ntawv cov channel
MappedByteBuffer mbb1 = fc.map(FileChannel.MapMode.READ_WRITE, 0, 1024);
MappedByteBuffer mbb2 = fc.map(FileChannel.MapMode.READ_WRITE, 1024, 2048);

//Sau cov ntsiab lus hauv cov ntaub ntawv mapped
rau(rau cov menyuam kuv = 0; Kuv < 1024; i )
mbb1.put((byte)'x');
System.out.println(“Sau tiav xxx”);

rau(rau cov menyuam kuv = 0; Kuv < 1024; i )
mbb2.put((byte)'thiab');
System.out.println(“Meej sau yyy”);
}
}

============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share