|--基本数据的自动拆装箱及享元模式:
至少jdk1.5以上的版本
< Integer iObj = 3(-128~127范围内返回true);>这个才会成立。
意思就是自动将int类型的值3装成Integer的对象,再传给iObj的引用性变量.
拆箱:System.out.println(iObj+12);
Integer类型的iObj不支持整数12相加
二者结合它便自动将integer 的iobj转换成int类型,实行相加,所以拆箱原理其实也用到了装箱
细节问题:定义二个Interger的对象
享元模式:flyweight
将一些基本数据类型整数缓存起来,当什么时候出现这些整数用到这个对象的时候,再将整数对象拿出来用便好了,就不需要新建个对象,节省了内存空间
定义:有很多个小的对象,他们有很多相同属性,把他们变成一个对象, 那些不同的属性,把他们变成方法的参数,把他们称之为web放开,相同的属性称之为这个内存状态。
好奇心展开:
Integer i3 = Integer.valueOf(213);
Integer i4 = Integer.valueOf(213);
System.out.println(i3==i4);
这个便错了,是范围之内,返回true。
有的东西不需要学,自己也便会了,好奇心很重要。。。
|
|