模式描述
享元模式,为了减少对象创建的数量,减少内存占用和提高性能。
为什么研究
当系统中需要对同一对象进行多次调用时,使用研究享元模式只要创建一个对象,可以提高一个系统的内存占用和性能,比如创建线程,如果每次实现线程就进行创建一个,这样的话,会频繁的进行线程销毁创建导致性能下降,则可以通过共享对象,在需要的时候从共享内存里面取出需要的对象即可;java中的字符串常量池;Integer中的缓存;mybatis中的Configuration类中的各种map存的共享对象。
事列
mybatis中的Configration
MapperAnnotationBuilder类里面用到了这个,其他很多类也用到了,如果每次使用都去新建一个,这样会浪费空间及损耗性能
mybatis中的MapperRegistry
SqlSessionManager类里面用到了这个,其他很多类也用到了,如果每次使用都去新建一个,这样会浪费空间及损耗性能
总结
1、根据共享对象,不然而然想到生活中,要学会分享,分享了,别人看到了使用,给别人节省时间。
2、软件设计中,要以平衡为美,如果程序对空间要求很高,那就做到多处使用的对象,在初始化的时候,放到内存中,这样可以节省很多内存。
来源:oschina
链接:https://my.oschina.net/u/4323266/blog/4689112