public void release(final Object o) {
        if (Objects.isNull(o)) {
            return;
        }
        if (memory.sum() == 0) {
            return;
        }
        releaseLock.lock();
        try {
            final long objectSize = inst.getObjectSize(o);
            if (memory.sum() > 0) {
                memory.add(-objectSize);
                if (memory.sum() > 0) {
                    notEmpty.signal();
                }
            }
        } finally {
            releaseLock.unlock();
        }
        if (memory.sum() < memoryLimit) {
            signalNotLimited();
        }
    }
release memory by {@link Object}.
this method does not respond to interrupts.

@param o memory size to be applied by calculating
shenyu-common/src/main/java/org/apache/shenyu/common/concurrent/MemoryLimiter.java