黑马程序员技术交流社区
标题:
享元模式
[打印本页]
作者:
韩金蕊
时间:
2011-12-27 16:29
标题:
享元模式
本帖最后由 韩金蕊 于 2011-12-28 08:38 编辑
到底什么是享元模式呀,谁给我解释解释,看了好几遍视频还是不太懂。。
作者:
刘忠德
时间:
2011-12-27 16:55
http://blog.csdn.net/ai92/article/details/224598,这有一篇关于享元模式的文章,你看一下呵呵~
作者:
付星
时间:
2011-12-27 17:09
简单说就是共享
类似String 常量池,它是一不可变方式存储,当前这样考虑可以重覆利用,节省内存
还有Integer类也有缓存常量池,这样-128~127的数就不用在内存里生成多次,直接引用就行,这是Integer类里面处理过程
作者:
曾运
时间:
2011-12-27 17:42
享元模式 简单来说就是把相同的部分抽取出来,设置为共享,这样可以节约内存开销。
java中 String类就是用了享元模式
class Demo
{
public static void main(String[] args)
{
/*
a,b, c三个不同的引用变量都指向了同一个实体,
它们共享了一个实体,输出都是true
*/
String a="java";
String b="java";
String c="java";
System.out.println(a==b);//true
System.out.println(b==c);//true
System.out.println(a==c);//true
}
}
复制代码
作者:
颜宗茂
时间:
2011-12-27 20:27
享元模式: 以共享的方式高效地支持大量的细粒度对象。比如String就是,String s1 ="abc";String s2 = "abc";但是内存中只有一个“abc”;用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件。
作者:
刘小峰
时间:
2011-12-27 21:27
享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。其能做到共享的关键是区分内部状态(Internal State)和外部状态(External)。内部状态是存储在对象内部的,并且不会随环境改变而有所不同的,因此,一个享元可以具有内部状态并可以共享。外部状态时随环境改变而改变的,不可以共享的状态。享元对象的外部状态必须由客户端保存,并在享元对象被创建之后,在需要使用的时候再传入到享元对象内部。外部状态不影响享元对象的内部状态。换句话说,它们是互相独立的。
作者:
张建银
时间:
2011-12-27 21:35
享元模式最简单的理解就是把某些事物的共同属性抽取出来,附加不同的外部属性共同组成一个不同的对象,就好比我们都是人,而人(共同属性)+姓名(属性1)+面容(属性2)就有了张三,李四,王五不同的人了
作者:
韩金蕊
时间:
2011-12-28 08:37
曾运 发表于 2011-12-27 17:42
享元模式 简单来说就是把相同的部分抽取出来,设置为共享,这样可以节约内存开销。
java中 String类就是用 ...
谢谢啦。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2