【Integer类的缓存机制】

1.Byte、Short、Integer、Long、Character都是具有缓存机制的类。缓存工作都是在静态块中完成,在类生命周期的初始化阶段执行。
2.缓存范围?
Byte,Short,Integer,Long为 -128 到 127
Character范围为 0 到 127
3. Integer可以通过jvm参数指定缓存范围,其它类都不行。
Integer的缓存上界high可以通过jvm参数-XX:AutoBoxCacheMax=size指定,取指定值与127的最大值并且不超过Integer表示范围,而下界low不能指定,只能为-128。
整型的包装类 valueOf 方法返回对象时,在常用的取值范围内,会返回缓存对象。
浮点型的包装类 valueOf 方法返回新的对象。
布尔型的包装类 valueOf 方法 Boolean类的静态常量 TRUE | FALSE。
//JDK1.5之前是不支持自动装箱和自动拆箱的,定义Integer对象,必须
.
.
Integer i = new Integer(8);
.
.
.
//JDK1.5开始,提供了自动装箱的功能,定义Integer对象可以这样
.
.
Integer i = 8;
.
.
.
int n = i;//自动拆箱

public static void main(String[] args) {
int a = 128;
Integer b = Integer.valueOf(128);
Integer c = new Integer(128);

    System.out.println(a == b);//true
    System.out.println(a == c);//true
}

你可能感兴趣的:(java,javamail,小程序)