亨元模式基本应用 FlyWeight Pattern

xiaoxiao2021-02-28  43

亨元模式即轻量级的元素创建模式,通过hashMap存储相应的对象,直接取出使用。不需要重复创建相同的对象。

这个例子在单例模式中的容器模式即有演示.

主要应用于缓存的状况,示例中描述的JVMCacheUtil缓存即是如此。此时可以用多线程安全的 ConcurrentHashMap来进行存储。

亨元模式的典型代表是  Integer 和 String

Integer.valueOf(a) 中,数值 a在  -128~127时,是预选缓存的值,所以此时在该范围内的数值,可以优先使用该方法。

String当中也会通过 inten写入到常量池中

@Test public void testName() throws Exception { final Integer a = Integer.valueOf(56); final Integer b = Integer.valueOf(56); System.out.println(a==b); //true final Integer m = Integer.valueOf(129); final Integer n = Integer.valueOf(129); System.out.println(m==n); //false String ss = "123"; ss.intern(); String sd = "123"; System.out.println(ss==sd); //true // 返回的是新的String final String c = String.valueOf(123); final String d = String.valueOf(123); System.out.println(c==d); //false }
转载请注明原文地址: https://www.6miu.com/read-2612561.html

最新回复(0)