11.16

96
迷人的酋长
2017.11.16 22:53 字数 427
  1. Java 采用的是大端还是小端?
    大端(不清楚)
什么大小端?

大小端在计算机业界,Endian表示数据在存储器中的存放顺序。百度百科如下叙述之:
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。

  1. ByteBuffer 中的字节序是什么?
    2.1 字节序
      读写其它类型的数据牵涉到字节序问题,ByteBuffer会按其字节序(大字节序或小字节序)写入或读出一个其它
      类型的数据(int,long…)。字节序可以用order方法来取得和设置:
      ByteOrder order() //返回ByteBuffer的字节序。
      ByteBuffer order(ByteOrder bo) // 设置ByteBuffer的字节序。
    2.2 ByteOrder
      用来表示ByteBuffer字节序的类,可将其看成java中的enum类型。主要定义了下面几个static方法和属性:
      ByteOrder BIG_ENDIAN 代表大字节序的ByteOrder。
      ByteOrder LITTLE_ENDIAN 代表小字节序的ByteOrder。
      ByteOrder nativeOrder() 返回当前硬件平台的字节序。
日记本