Java中的存储单位

一直觉得自己的Java基础还可以,真的在面试的时候才发现,还是太肤浅了(我根本没法表达清楚)。

存储单位

  • 位(bit),计算机存储信息的最小单位,二进制的一个“0”或者“1”表示一位。
  • 字节(Byte),计算机存储容量基本单位是字节,8个二进制位表示一个字节。
  • (字符,是一种标记符号(像a,b,A),同以上的存储单位不是一回事。)

    计算机内存和硬盘等存储空间的管理都是以字节为基本单位,每个字节都有自己的编号,而“字符-Char”是
    人们用作标记的符号,如’A’, ‘-‘等,每个字符都有约定的抽象含义。

基础类型

在Java中有8种基本数据类型 —— 4种整型,2种浮点类型,1种表示Unicode编码的字符单元的字符类型,
1种表示真值的boolean类型。(一个字节8位)

  1. 整型

    1
    2
    3
    4
    5
    类型          存储需求            bit数            取值范围            备注
    int 4字节 4*8
    short 2字节 2*8 -32768~32767
    long 8字节 8*8
    byte 1字节 1*8 -128~127
  2. 浮点型

    1
    2
    3
    类型          存储需求            bit数            取值范围            备注
    float 4字节 4*8 (区别于double,有后缀`F`)
    double 8字节 8*8
  3. char类型

    1
    2
    类型          存储需求            bit数            取值范围            备注
    char 2字节 2*8
  4. boolean类型

    1
    2
    类型          存储需求            bit数            取值范围            备注
    boolean 1字节 1*8 false/true

(对于范围很大的数,用BigDecimal, BigInteger来表示。)

参考资料