Buffer (tampon) l'accès aux données

Buffer (tampon)

1. La mémoire tampon (Buffer): un ensemble de données de base pour un type particulier de récipient.

                                   Java.nio défini par le paquet, tous les tampons sont tampon sous - classe de la classe abstraite.
2. Java NIO tampon est principalement pour interagir avec le canal NIO, les données sont lues dans la mémoire tampon des canaux de la mémoire tampon de canal d'écriture


3. Tampon comme un tableau, vous pouvez économiser plus que le même type de données.

 Les différents types de données (booléen non incluses), les sous-classes suivants: tampon utilisé

                                           ① ByteBuffer

                                           ② CharBuffer

                                           ③ ShortBuffer

                                           ④ IntBuffer

                                           ⑤ LongBuffer

                                           ⑥ FloatBuffer 

                                           ⑦ DoubleBuffer

 Ils sont utilisés ci-dessus méthode de classe de gestion mémoire tampon des données similaires,

 Il suffit de taper leur gestion des données est différente. objets tampons sont acquises par un procédé comme suit:
 XxxBuffer statique l'allocation (capacité d'int): créer une capacité cible de la capacité de XxxBuffer

 4.Buffer méthode courante

tampon essai

Paquet de pénalité pour com.aff.nio; 

importation java.nio.ByteBuffer; 

importation org.junit.Test; 

/ * 
 * Buffer (tampon): responsable du stockage de données en Java NIO, le tampon est un tableau. Différents types de données pour stocker des données 
 * en fonction des différents types de données ( à l' exception booléen), fournies en réponse types de tampons: 
 * le ByteBuffer 
 * IntBuffer 
 * ShortBuffer 
 * CharBuffer 
 * LongBuffer 
 * FloatBuffer 
 * le DoubleBuffer 
 * au-dessus de gestion de mémoire tampon presque identique , un tampon en obtenant la allouent () 
 * 
 * 
 * deux noyau 2. le procédé de stockage de tampons de données 
 * put (): les données stockées dans la mémoire tampon 
 * get (): obtenir la zone de données lentement 
 * 
 * buffer les quatre principaux attributs: 
 capacité *: capacité, représente la capacité maximale des données de stockage tampon, une déclaration ne peut pas être modifiée une fois 
 limite *: limite, indique la taille de la mémoire tampon de données peut être utilisé (après les données limites ne peuvent être lus ou écrits)
 * Position: représente l'emplacement des données dans la mémoire tampon est en fonctionnement 
 *
 * Marque: marque indiquant la position actuelle de la position d'enregistrement à () pour récupérer la position remise à zéro de la marque 
 * 0 <= marque <position <= limite <= Capacité 
 * 
 * 
 * / 
publique  classe TestBuffer { 
    @Test 
    publique  vide test1 () { 
        chaîne STR = "abcdl" ;
         // 1. attribué une taille de mémoire tampon spécifiée 
        la ByteBuffer buf = ByteBuffer.allocate (1024 ); 
        System.out.println ( « -------- la allouent () --- ------- » ); 
        System.out.println (buf.capacity ()); // 1024 
        System.out.println (buf.limit ()); // 1024
        System.out.println (buf.position ()); //0 

        // méthode 2.Put pour les données stockées dans la mémoire tampon 
        buf.put (str.getBytes ()); 
        System.out.println ( « -------- PUT () -------- - " ); 
        System.out.println (buf.capacity ()); // 1024 
        System.out.println (buf.limit ()); // 1024 
        System.out.println (buf.position ()); // 5 

        // commutateur de mode de lecture 
        buf.flip (); 
        System.out.println ( "mode lecture flip -------- ----------" ); 
        le système. out.println (buf.capacity ()); // 1024 
        System.out.println (buf.limit ()); // . 5 
        System.out.println (buf.position ());// 0; 

        // () de lecture de données dans la mémoire tampon avec l'EEG 
        octet [] = DST nouveau nouvel  octet ; [de buf.limit ()] 
        buf.get (DST); 
        System.out.println ( new new String (DST , 0 ;, que dst.length)) 

        System.out.println ( "GET après -------- () ----------" ); 
        System.out.println (buf.capacity ()); // 1024 
        System.out.println (buf.limit ()); // . 5 
        System.out.println (buf.position ()); // . 5; 

        // lecture répétée rewind () 
        buf. rewind (); 
        System.out.println ( "-------- rewind () ----------"); 
        System.out.println (buf.capacity ()); // 1024 
        System.out.println (buf.limit ()); // . 5 
        System.out.println (buf.position ()); // 0 

        // Clear () effacer la mémoire tampon, mais les données de tampon existe toujours, mais dans un état oublié 
    } 
}

 

Je suppose que tu aimes

Origine www.cnblogs.com/afangfang/p/12635596.html
conseillé
Classement