java--数据类型及128陷阱

67 阅读1分钟

java--数据类型及128陷阱

1、八大数据类型

每个基本类型都对应着一个包装类型。byte --1字节 short--2字节 int--4字节 long--8字节,float--4字节 double--8字节 char--2字节 boolean类型(默认false)

2、三大引用类型

类,数组,接口,这是引用类型

声明变量存放的位置取决于在什么地方声明

  如果声明在方法的内部,当主方法加载到这个方法时,在栈内存中就会为某个方法声明方法区,基本数据类型就声明在栈中的方法区,如果声明引用类型的话,就在方法区中存放的是地址,因为方法调用完毕就会出栈,所以声明的局部变量作用域就在方法内部。

如果是在类中声明的变量,叫做成员变量也叫作全局变量,如果是基本类型,就会在堆内存中存储其变量名和变量值,如果是引用类型,就会在堆内存中存储一个地址,该地址指向所引用的类型。

128陷阱

在jdk5之后就会出现自动装箱和拆箱的问题,当int范围在-128~127内,这个时候就会从缓冲池中取数据,如果是128了,在装箱的时候就会new一个新的对象,地址不一致,所以通过==比较,结果就会返回false。