java nio ByteOrder源码分析

package java.nio;


/**
 * 用于字节顺序的类型安全枚举。
 *
 * @author Mark Reinhold
 * @author JSR-51 Expert Group
 * @since 1.4
 */

public final class ByteOrder {

    private String name;

    private ByteOrder(String name) {
        this.name = name;
    }

    /**
     * 表示大端字节顺序的常数。
     * 按照这个顺序,一个多字节值的字节是从最重要的到最不重要的顺序排列的。
     * (将高序字节存储在起始地址)
     * 如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为;
		address	big-endian	little-endian
		0x0000	0x12	0xcd
		0x0001	0x34	0xab
		0x0002	0xab	0x34
		0x0003	0xcd	0x12
     */
    public static final ByteOrder BIG_ENDIAN
        = new ByteOrder("BIG_ENDIAN");

    /**
     * 表示小端字节顺序的常数。
     * 在这个顺序中,多字节值的字节是从最不重要的顺序到最重要的。
     */
    public static final ByteOrder LITTLE_ENDIAN
        = new ByteOrder("LITTLE_ENDIAN");

    /**
     * 检索底层平台的本机字节顺序。
     *
     * <p> 定义此方法是为了使性能敏感的Java代码能够以与硬件相同的字节顺序分配直接缓冲区。
     * 使用此类缓冲区时,本机代码库通常更有效。
     * </p>
     *
     * @return  The native byte order of the hardware upon which this Java
     *          virtual machine is running
     */
    public static ByteOrder nativeOrder() {
        return Bits.byteOrder();
    }

    /**
     * 构造描述此对象的字符串。
     *
     * <p> 这个方法对BIG_ENDIAN返回字符串“BIG_ENDIAN”,对LITTLE_ENDIAN返回字符串“LITTLE_ENDIAN”。
     * </p>
     *
     * @return  The specified string
     */
    public String toString() {
        return name;
    }

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值