设计模式:享元模式(Flyweight Pattern)
生活随笔
收集整理的這篇文章主要介紹了
设计模式:享元模式(Flyweight Pattern)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ?1。享元模式:也叫蠅量模式,運(yùn)行共享技術(shù)有效的支持大量細(xì)粒度的對(duì)象。
?? 2。享元模式常用于系統(tǒng)底層開發(fā),解決系統(tǒng)的性能問(wèn)題。比如數(shù)據(jù)庫(kù)連接池,里面都是創(chuàng)建好的連接對(duì)象。
? ?3。享元模式能夠解決重復(fù)對(duì)象的內(nèi)存浪費(fèi)問(wèn)題,當(dāng)系統(tǒng)中有大量相似對(duì)象,需要緩沖池時(shí),不需總是創(chuàng)建新對(duì)象,可以從緩沖池里拿。這樣可以降低系統(tǒng)內(nèi)存,同時(shí)提高效率。
? ? ?4。享元模式經(jīng)典的應(yīng)用場(chǎng)景就是池技術(shù)。String常量池,數(shù)據(jù)庫(kù)連接池,緩沖池等等都是享元模式的應(yīng)用,享元模式是池技術(shù)的重要實(shí)現(xiàn)方式。
?
?
? JDK中的Integer類就使用到了享元模式
public class FlyWeightInteger {public static void main(String[] args){// -128到127之間的數(shù), valueOf()會(huì)使用享元模式返回Integer x = Integer.valueOf(127);Integer y = new Integer(127);Integer z = Integer.valueOf(127);Integer w = new Integer(127);System.out.println(x == z);System.out.println(y == z);System.out.println(y == w);} }?
總結(jié)
以上是生活随笔為你收集整理的设计模式:享元模式(Flyweight Pattern)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 设计模式:外观模式(Facade)
- 下一篇: 设计模式:模板方法(Template M