基本类型Integer的享元设计模式

来源:互联网 发布:c 并发编程指南 pdf 编辑:程序博客网 时间:2024/06/05 06:39
相信大家都知道,jdk5是java语言改变最大的一个jdk版本,它新加入的一个自动拆装箱的特性是我们java程序员方便了很多,使得基本类型int与java类型Integer基本上没有了什么区别,不需要我们再去用api在两者之间相互转换。

下面的例子我介绍一下关于Integer这个类所用到的享元设计模式:

public class FlyWeight {public static void main(String[] args) {   Integer num1 = 127;   Integer num2 = 127;   Integer num3 = 128;   Integer num4 = 128;   System.out.println(num1 == num2);//true   System.out.println(num3 == num4);//false  }}

运行上面的结果,我们会发现上面的两个结果并不相同,这就是享元设计模式在Integer这个类上面的应用,由于数值比较小的数字用的频率比较高, 所以把它们做成一个对象重复利用可以节省内存资源,因此在-128——127的这些数字都采用了这种设计模式,反复用的都是一个对象。

0 0
原创粉丝点击