java设计模式之享元模式


 

 享元模式(英语:Flyweight Pattern)是一种软件设计模式。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于当大量物件只是重复因而

导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。
  典型的享元模式的例子为文书处理器中以图形结构来表示字符。一个做法是,每个字形有其字型外观, 字模 metrics, 和其它格式资讯,但这会使每个字符就耗用上千字节。取而代之的

是,每个字符参照到一个共享字形物件,此物件会被其它有共同特质的字符所分享;只有每个字符(文件中或页面中)的位置才需要另外储存。以下程式用来解释上述的文件例子。这个例子

用来解释享元模式利用只载立执行立即小任务所必需的资料,因而减少内存使用量。
例如:
Integer obj1=134;
integer obj2=134;
integer obj3=1;
integer obj4=1;
当将两个integer类型的对象比较时,由于自动拆装箱只保存一个字节的内容所以,当装箱后得到的数字在-128~127之间时System.out.println(obj3==obj4);返回的值是true,否则为false,

例如:System.out.println(obj1==obj2);。

 

 

你可能感兴趣的:(java,设计模式,数据结构,android,Integer,资讯)