享元模式
2022-08-01 15:51:33 12 举报
AI智能生成
享元模式
作者其他创作
大纲/内容
定义
当一个系统中存在大量重复对象的时候,如果这些重复的对象是不可变对象,我们就可以利用享元模式将对象设计成享元,在内存中只保留一份实例,供多处代码引用
不可变对象
一旦通过构造函数初始化完成之后,它的状态(对象的成员变量或者属性)就不会再被修改了。所以,不可变对象不能暴露任何 set() 等修改内部状态的方法。
实现方式
建立棋子享元类
将享元类提前建立并进行缓存
棋盘实体,使用享元类
棋盘
享元模式解决的问题
复用对象,节省内存
享元模式的使用案例
Java Integer
代码实现
将-127到128缓存起来,需要的时候,直接使用同一份对象
Java String
子主题
Java Long
...等包装类型
存在的问题
对象不会被回收,持续占用内存
0 条评论
下一页