基本数据的自动拆装箱及享元设计模式
Integer i1 = 1;
这行代码在JDK1.5之前是错误的。因为左边是基本数据类型,而右边是整数。
JDK1.5之后,Integer i1 = 1是正确的,右边的1将自动被装箱为基本数据类型。
i1与i2相同,i3与i4不相同。
导致这个区别的原因是:在-128到127之间的基本数据类型将被缓存,因为它们经常会被使用,系统将在内存中查找之前被定义的
对象。 超过这个范围的将不被缓存。
享元设计模式:当某个对象经常被调用,并且有大部分相同属性很少修改,可以将它们相同部分(内部状态)剥离出来,设计成共享对象,其中不同的
属性设计成方法的参数(外部状态)。