享元的定义:享元模式英文称为“Flyweight Pattern”,如果翻译成为羽量级模式,估计会让人有点捉摸不透,而享元,则可以较好的体现该模式的用途,共享元素享元的用途:我们知道,在java应用中,会出现许多String a="123",String b="123"之类的String类型的变量,...
分类:
编程语言 时间:
2014-06-18 10:24:53
阅读次数:
207
享元模式,运用共享技术有效的支持大量细粒度的对象。
FlyweightFactory,一个享元工厂,用来创建并管理Flyweight对象。它主要是用来确保合理的共享Flyweight,当用户请求一个Flyweight时,FlyweightFactory对象提供一个已创建的实例或者创建一个(如果不存在的话)。
Flyweight类,所有具体享元类的超类或接口,...
分类:
其他好文 时间:
2014-06-07 01:25:37
阅读次数:
260
我们都知道,Java中的String类具有如下特性:String是一个不可变类,当直通过用字符串方式使用String对象时,Jvm实际上在内存中只存有一份,且存在字符串常量池中。当对字符串直接进行修改时(如直接联接另一个字符串常量),Jvm会首先去字符串常量池中查找是否已经存在此字符串,不存在则创建...
分类:
其他好文 时间:
2014-06-06 17:25:03
阅读次数:
281
Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意。享元模式是对象的结构模式。享元模式以共享的方式高效地支持大量的细粒度对象。
Java中的String类型
在JAVA语言中,String类型就是使用了享元模式。String对象是final类型,对象一旦创建就不可改变。在JAVA中字符串常量都是存在常量池中的...
分类:
其他好文 时间:
2014-05-25 22:27:25
阅读次数:
317
享元模式(Flyweight),使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元(from维基百科)。应用场景例如J...
分类:
其他好文 时间:
2014-05-16 04:49:36
阅读次数:
284
原文第11章 享元模式(Flyweight Pattern)概述:
面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操作?享元模式j就可以...
分类:
其他好文 时间:
2014-05-12 08:53:38
阅读次数:
276
单例模式(Singleton)
工厂模式(Factory)
桥接模式(Bridge)
组合模式(Composite)
门面模式(Facade)
适配器模式(Adapter)
装饰者模式(Decorator)
享元模式(Flyweight)
代理模式(Proxy)
观察者模式(Observer)
命令模式(Command)
1.单例模式(Singleton):
Singl...
分类:
编程语言 时间:
2014-04-29 13:34:20
阅读次数:
344