博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
享元模式
阅读量:5302 次
发布时间:2019-06-14

本文共 641 字,大约阅读时间需要 2 分钟。

享元模式:可以提高系统性能的设计模式之一,它的核心思想如果系统中存在多个相同的对象,那么只需要共享一份对象的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 一个对象出来。

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

 

转载于:https://www.cnblogs.com/cherish010/p/8565602.html

你可能感兴趣的文章
a*寻路分析
查看>>
Android Activity的任务栈和四大启动模式
查看>>
table左边固定-底部横向滚动条-demo
查看>>
MySQL事件异常记录
查看>>
Redis 发布订阅
查看>>
Redis 事务
查看>>
中国创新教育交流会杂感
查看>>
逍遥笔记
查看>>
JSON 命令行工具
查看>>
博士生传给硕士生的经验
查看>>
ubuntu 查看软件包中的内容 (已经安装)
查看>>
iperf 一个测试网络吞吐的工具
查看>>
IOR and mdtest - measure parallel file system I/O performance at both the POSIX and MPI-IO level.
查看>>
文件系统测试工具整理
查看>>
好用的性能检测工具 - Glances
查看>>
tcp滑动窗口和读写缓冲区
查看>>
GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造
查看>>
ssh 使用指定网卡 连接特定网络
查看>>
鸿蒙操作系统发布会 分析 记录
查看>>
浅谈python 中正则的一些函数
查看>>