All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.hutool.core.lang.intern.WeakInterner Maven / Gradle / Ivy

Go to download

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

There is a newer version: 5.8.34
Show newest version
package cn.hutool.core.lang.intern;

import cn.hutool.core.map.WeakConcurrentMap;

import java.lang.ref.WeakReference;

/**
 * 使用WeakHashMap(线程安全)存储对象的规范化对象,注意此对象需单例使用!
* * @author looly * @since 5.4.3 */ public class WeakInterner implements Interner{ private final WeakConcurrentMap> cache = new WeakConcurrentMap<>(); public T intern(T sample) { if (sample == null) { return null; } T val; do { val = this.cache.computeIfAbsent(sample, WeakReference::new).get(); } while (val == null); return val; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy