码迷,mamicode.com
首页 > 其他好文 > 详细

享元模式

时间:2018-03-14 10:43:08      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:创建对象   简单的   返回   设计思想   post   压力   空间   大于   out   

享元模式:可以提高系统性能的设计模式之一,它的核心思想如果系统中存在多个相同的对象,那么只需要共享一份对象的copy,而没必为每次使用都创建新的对象,一般会与工厂类一同使用,由于创建对象的次数减少对于内存的需求也就较低,对于GC的压力也也有所减少,简单的说,即共享同一个对象

public class Test {
    public static void main(String[] args) {
        Integer i = 2;
        Integer j = 2;
        System.out.println(i==j); //true
        Integer m = 200;
        Integer n = 200;
        System.out.println(m==n); //false
    }
}

对于为啥会出现这种情况,可以查看Integer类中的valueOf方法,实际上Integer 类初始化了一个数组,这个数组包含-128到127的数,当变量小于127时,会直接返回数组中的对象,而不是创建这个对象,当大于127时,便会new 一个对象出来。

这也就解释了上面的输出情况。这里的设计思想也就是用到了享元模式的思想,将小范围但需大量使用的数字先初始化,直接返回需要的对象,这是典型的以时间换取空间的思想

 

享元模式

标签:创建对象   简单的   返回   设计思想   post   压力   空间   大于   out   

原文地址:https://www.cnblogs.com/cherish010/p/8565602.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!