import java.nio.ByteBuffer;

public class AnatomiBuffer {
    public static void main(String[] args) {
        ByteBuffer penampung = ByteBuffer.allocate(8);
        System.out.println("setelah allocate : pos=" + penampung.position()
                + " lim=" + penampung.limit()
                + " cap=" + penampung.capacity());

        penampung.put((byte) 10);
        penampung.put((byte) 20);
        penampung.put((byte) 30);
        System.out.println("setelah 3 put    : pos=" + penampung.position()
                + " lim=" + penampung.limit());

        penampung.flip();
        System.out.println("setelah flip     : pos=" + penampung.position()
                + " lim=" + penampung.limit());

        while (penampung.hasRemaining()) {
            System.out.println("terbaca          : " + penampung.get());
        }
        System.out.println("setelah get semua: pos=" + penampung.position()
                + " lim=" + penampung.limit());

        penampung.rewind();
        System.out.println("setelah rewind   : pos=" + penampung.position()
                + " lim=" + penampung.limit());
        System.out.println("baca ulang       : " + penampung.get());

        penampung.clear();
        System.out.println("setelah clear    : pos=" + penampung.position()
                + " lim=" + penampung.limit());
    }
}
