11、FLYWEIGHT(享元模式)
使用目的
运用共享技术有效地支持大量细粒度的对象。
使用场景
- 一个应用程序使用了大量对象并且由于使用大量对象造成了很大的内存开销的情况
- 对象的大多数都可以变为外部状态
- 如果删除对象的外部状态,可以由少量的共享对象取代很多组对象
- 应用程序不依赖于对象标识。
我们看一下下面的代码:
Integer number1 = 127;
Integer number2 = 127;
Integer number3 = 128;
Integer number4 = 128;
System.out.println(number1 == number2);
//true
System.out.println(number3 == number4);
//false
【11、FLYWEIGHT(享元模式)】为什么会出现这样的问题呢?因为在Java里面的Integer是使用了享元模式,在-128-127之间的值相同的元素都指向同一个内存单元。也就是让这些内存单元共享给多个元素。
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 八、「料理风云」