putIfAbsent

    public static HashSet<Long> getOrInitHashMapCacheValue(Long mId){
//        HashSet<Long> set = getHashMapRefCache().get(mId);
//        if(set == null){
//            set = getHashSet();
//            getHashMapRefCache().put(mId, set);
//        }
//        return set;
        HashSet<Long> set = getHashMapRefCache().get(mId);
        if(set == null){
            set = getHashSet();
            HashSet<Long> ret = getHashMapRefCache().putIfAbsent(mId, set);
            if(ret!=null){
                set = ret;
            }
        }
        return set;
    }
原文地址:https://www.cnblogs.com/ydxblog/p/8109485.html