diff --git a/common/src/main/java/io/netty/util/internal/PlatformDependent.java b/common/src/main/java/io/netty/util/internal/PlatformDependent.java index 2450c34a77..c50e7606a9 100644 --- a/common/src/main/java/io/netty/util/internal/PlatformDependent.java +++ b/common/src/main/java/io/netty/util/internal/PlatformDependent.java @@ -16,6 +16,8 @@ package io.netty.util.internal; import io.netty.util.internal.chmv8.ConcurrentHashMapV8; +import io.netty.util.internal.logging.InternalLogger; +import io.netty.util.internal.logging.InternalLoggerFactory; import java.lang.reflect.Field; import java.net.InetSocketAddress; @@ -56,6 +58,16 @@ public final class PlatformDependent { private static final boolean HAS_JAVASSIST = hasJavassist0(); + static { + InternalLogger logger = InternalLoggerFactory.getInstance(PlatformDependent.class); + if (!hasUnsafe()) { + logger.warn( + "Your platform does not provide complete low-level API for accessing direct buffers reliably. " + + "Unless explicitly requested, heap buffer will always be preferred " + + "to avoid potential risk of getting OutOfMemoryError."); + } + } + /** * Returns {@code true} if and only if the current platform is Android */