private static void refresh() {
        // try to clear weak reference
        for (WeakReference<MemorySafeWindowTinyLFUMap<?, ?>> weakReference : ALL) {
            MemorySafeWindowTinyLFUMap<?, ?> cacheMap = weakReference.get();
            if (Objects.isNull(cacheMap)) {
                ALL.remove(weakReference);
            }
        }
        // if jvm memory is full, try to release memory from caffine
        boolean anyFull = ALL.stream().map(WeakReference::get).filter(Objects::nonNull)
                .anyMatch(MemorySafeWindowTinyLFUMap::isFull);
        while (anyFull) {
            ALL.stream().map(WeakReference::get).filter(Objects::nonNull).forEach(MemorySafeWindowTinyLFUMap::invalidate);
            anyFull = ALL.stream().map(WeakReference::get).filter(Objects::nonNull)
                    .anyMatch(MemorySafeWindowTinyLFUMap::isFull);
        }
    }
whether to full.

@return true if it's full
shenyu-common/src/main/java/org/apache/shenyu/common/cache/MemorySafeWindowTinyLFUMap.java