单位
- 比特(bit):最小单位,由 0/1 组成;
- 字节(Byte):1 Byte = 8 bit;
日常使用
- 一个英文字母占用 1 Byte;
- 一个中文汉字占用 3 Byte(UTF-8编码);
- Java 中 int 型占用 4 Byte
- 日常所说的 100M 宽带指的是 100Mbps 的宽带,而我们说的下载速度是 MB/s(MBps);这之间有8倍的差别;
- Mbps:兆比特每秒
- MB/s:兆字节每秒
进阶
-
Java 中 int 占用4个字节,合32位(bit)。最高位用一区分“正负”,所以它有31位可以用来表示数字,从0开始能表示 2^31个数字,所以Integer.MAX_VALUE = 2^31-1 = 2147483647;
相应的,Short 占用2个字节16位,Short.MAX_VALUE = 2^15-1 = 32767;
-
2038 问题,因为用 4字节 来存储时间戳,Integer.MAX_VALUE = 2147483647 格式化成时间就是 2038-01-19 11:14:07。