Java基本数据类型(表格版 + 整型溢出 + 自动拆装箱 + 高频缓存)

Java的数据类型主要包括基本数据类型引用数据类型

一、基本数据类型

简单类型 二进制位数 取值范围 默认值 包装类 高频区间数据缓存范围
byte 8 -2^8 - 2^8-1 0 Byte -128 - 127
short 16 -2^16 - 2^16-1 0 Short -128 - 127
int 32 -2^32 - 2^32-1 0 Integer -128 - 127
long 64 -2^64 - 2^64-1 0 Long -128 - 127
float 32 -2^32 - 2^32-1 0.0 Float 无缓存区
double 64 -2^64 - 2^64-1 0.0 Double 无缓存区
boolean 1 true/false false Boolean 使用静态final定义,就会返回静态值
char 16 -2^16 - 2^16-1 \u0000 Character 0 - 127

补充说明:

  1. byte,short,int,long 为整型类型,当赋予的值超过了该整型变量的取值范围,则会发生整型溢出

(例:int a = 2^8;//溢出, 解决方案:将int类型扩大为long类型)

  1. 高频缓存区的作用:提高性能

    //以Integer为例
    
    Integer var1 = 100; //new了一个对象,赋予属性值100
    Integer var2 = 100; //由于100在Integer的高频缓存区内,则无需再new一个新的对象,直接让var2 指向和var1同样的内存空间
    System.out.println(var1 == var2); //由于var1 和var2 指向同一片空间,所以二者地址值相等,答案应为true
    
    //倘若有多个Integer 对象 属性值为100,则这些变量都和var1指向相同的内存空间,因此可以提高性能
    
  2. 基本数据类型与包装类之间的转换(自动装箱 && 自动拆箱)

Integer val = 100;  等价于  Integer var = Integer.valueof(100); // 这就是基本类型转换为包装类类型的自动装箱
int num = var;  等价于  int num == var.intValue(); //这就是包装类类型转换成基本类型的自动拆箱

二、引用数据类型

Java 的四种引用类型从强到弱分别是:强引用、软引用、 弱引用、 虚引用。

Java 的三种引用数据类型分别是:类、数组、接口。

Guess you like

Origin blog.csdn.net/qq_51800570/article/details/120678014