This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-fury.git


The following commit(s) were added to refs/heads/main by this push:
     new c6bc9960 chore(java): move Platform class to memory package (#1578)
c6bc9960 is described below

commit c6bc9960f361e93604720ef62b8f25ff375819ea
Author: Shawn Yang <[email protected]>
AuthorDate: Fri Apr 26 17:40:33 2024 +0800

    chore(java): move Platform class to memory package (#1578)
    
    ## What does this PR do?
    
    This PR moves Platform class to memory package, since it's most ly for
    memory related operations
    
    
    ## Related issues
    
    
    
    ## Does this PR introduce any user-facing change?
    
    <!--
    If any user-facing interface changes, please [open an
    issue](https://github.com/apache/incubator-fury/issues/new/choose)
    describing the need to do so and update the document if necessary.
    -->
    
    - [ ] Does this PR introduce any public API change?
    - [ ] Does this PR introduce any binary protocol compatibility change?
    
    
    ## Benchmark
    
    <!--
    When the PR has an impact on performance (if you don't know whether the
    PR will have an impact on performance, you can submit the PR first, and
    if it will have impact on performance, the code reviewer will explain
    it), be sure to attach a benchmark data here.
    -->
---
 LICENSE                                            |  2 +-
 .../integration_tests/JDKCompatibilityTest.java    |  2 +-
 .../apache/fury/benchmark/CompressStringSuite.java |  2 +-
 .../org/apache/fury/benchmark/Identity2IdMap.java  |  2 +-
 .../org/apache/fury/benchmark/MemorySuite.java     |  2 +-
 .../fury/benchmark/NewJava11StringSuite.java       |  2 +-
 .../org/apache/fury/benchmark/NewStringSuite.java  |  2 +-
 .../fury/benchmark/UserTypeDeserializeSuite.java   |  2 +-
 .../fury/benchmark/UserTypeSerializeSuite.java     |  2 +-
 .../org/apache/fury/benchmark/ZeroCopySuite.java   |  2 +-
 .../fury/benchmark/state/FlatBuffersState.java     |  2 +-
 .../org/apache/fury/benchmark/state/FstState.java  |  2 +-
 .../apache/fury/benchmark/state/JsonbState.java    |  2 +-
 .../src/main/java/org/apache/fury/Fury.java        |  2 +-
 .../fury/builder/BaseObjectCodecBuilder.java       |  2 +-
 .../java/org/apache/fury/builder/CodecBuilder.java |  2 +-
 .../fury/builder/CompatibleCodecBuilder.java       |  2 +-
 .../java/org/apache/fury/builder/JITContext.java   |  2 +-
 .../apache/fury/builder/ObjectCodecBuilder.java    |  2 +-
 .../java/org/apache/fury/codegen/Expression.java   |  2 +-
 .../org/apache/fury/codegen/ExpressionVisitor.java |  2 +-
 .../java/org/apache/fury/config/FuryBuilder.java   |  2 +-
 .../java/org/apache/fury/io/FuryInputStream.java   |  2 +-
 .../org/apache/fury/io/FuryReadableChannel.java    |  2 +-
 .../java/org/apache/fury/memory/LittleEndian.java  |  2 --
 .../java/org/apache/fury/memory/MemoryBuffer.java  |  1 -
 .../java/org/apache/fury/memory/MemoryUtils.java   |  1 -
 .../org/apache/fury/{util => memory}/Platform.java |  3 ++-
 .../main/java/org/apache/fury/meta/ClassDef.java   |  2 +-
 .../org/apache/fury/resolver/ClassResolver.java    |  2 +-
 .../apache/fury/serializer/ArraySerializers.java   |  2 +-
 .../fury/serializer/CompatibleSerializer.java      |  2 +-
 .../fury/serializer/ExternalizableSerializer.java  |  2 +-
 .../apache/fury/serializer/ForwardSerializer.java  |  2 +-
 .../org/apache/fury/serializer/JavaSerializer.java |  2 +-
 .../apache/fury/serializer/JdkProxySerializer.java |  2 +-
 .../fury/serializer/MetaSharedSerializer.java      |  2 +-
 .../apache/fury/serializer/ObjectSerializer.java   |  2 +-
 .../fury/serializer/ObjectStreamSerializer.java    |  2 +-
 .../fury/serializer/PrimitiveSerializers.java      |  2 +-
 .../fury/serializer/ReplaceResolveSerializer.java  |  2 +-
 .../org/apache/fury/serializer/Serializers.java    |  2 +-
 .../apache/fury/serializer/StringSerializer.java   |  2 +-
 .../apache/fury/serializer/StructSerializer.java   |  2 +-
 .../org/apache/fury/serializer/URLSerializer.java  |  2 +-
 .../collection/CollectionSerializers.java          |  2 +-
 .../collection/GuavaCollectionSerializers.java     |  2 +-
 .../collection/ImmutableCollectionSerializers.java |  2 +-
 .../fury/serializer/collection/MapSerializers.java |  2 +-
 .../collection/SynchronizedSerializers.java        |  2 +-
 .../collection/UnmodifiableSerializers.java        |  2 +-
 .../scala/SingletonCollectionSerializer.java       |  2 +-
 .../serializer/scala/SingletonMapSerializer.java   |  2 +-
 .../scala/SingletonObjectSerializer.java           |  2 +-
 .../main/java/org/apache/fury/type/Descriptor.java |  2 +-
 .../java/org/apache/fury/util/FieldAccessor.java   |  1 +
 .../java/org/apache/fury/util/ReflectionUtils.java |  1 +
 .../org/apache/fury/util/UnsafeFieldAccessor.java  |  1 +
 .../org/apache/fury/util/unsafe/DefineClass.java   |  2 +-
 .../org/apache/fury/util/unsafe/_Collections.java  |  2 +-
 .../org/apache/fury/util/unsafe/_JDKAccess.java    |  2 +-
 java/fury-core/src/main/resources/META-INF/LICENSE |  2 +-
 .../fury-core/native-image.properties              |  2 +-
 .../src/test/java/org/apache/fury/FuryTest.java    |  2 +-
 .../test/java/org/apache/fury/FuryTestBase.java    |  2 +-
 .../src/test/java/org/apache/fury/StreamTest.java  | 28 ++++++++++++++++++++++
 .../org/apache/fury/codegen/JaninoUtilsTest.java   |  2 +-
 .../org/apache/fury/memory/MemoryBufferTest.java   |  1 -
 .../apache/fury/resolver/DisallowedListTest.java   |  2 +-
 .../fury/serializer/StringSerializerTest.java      |  2 +-
 .../collection/SynchronizedSerializersTest.java    |  2 +-
 .../collection/UnmodifiableSerializersTest.java    |  2 +-
 .../java/org/apache/fury/util/PlatformTest.java    |  1 +
 .../apache/fury/util/unsafe/DefineClassTest.java   |  2 +-
 .../org/apache/fury/util/unsafe/JDKAccessTest.java |  2 +-
 .../apache/fury/format/row/binary/BinaryArray.java |  2 +-
 .../apache/fury/format/row/binary/BinaryMap.java   |  2 +-
 .../row/binary/writer/BinaryArrayWriter.java       |  2 +-
 .../fury/format/vectorized/ArrowSerializers.java   |  2 +-
 .../format/vectorized/ArrowTableSerializer.java    |  2 +-
 .../fury/format/row/binary/BinaryRowTest.java      |  2 +-
 licenserc.toml                                     |  2 +-
 82 files changed, 106 insertions(+), 78 deletions(-)

diff --git a/LICENSE b/LICENSE
index 5eb17e36..f8c91199 100644
--- a/LICENSE
+++ b/LICENSE
@@ -221,7 +221,7 @@ The text of each license is the standard Apache 2.0 license.
 * spark (https://github.com/apache/spark)
     Files:
       java/fury-core/src/main/java/org/apache/fury/codegen/Code.java
-      java/fury-core/src/main/java/org/apache/fury/util/Platform.java
+      java/fury-core/src/main/java/org/apache/fury/memory/Platform.java
       
java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowWriter.java
 
 * commons-io (https://github.com/apache/commons-io)
diff --git 
a/integration_tests/jdk_compatibility_tests/src/test/java/org/apache/fury/integration_tests/JDKCompatibilityTest.java
 
b/integration_tests/jdk_compatibility_tests/src/test/java/org/apache/fury/integration_tests/JDKCompatibilityTest.java
index 53d2ee09..ceef88d0 100644
--- 
a/integration_tests/jdk_compatibility_tests/src/test/java/org/apache/fury/integration_tests/JDKCompatibilityTest.java
+++ 
b/integration_tests/jdk_compatibility_tests/src/test/java/org/apache/fury/integration_tests/JDKCompatibilityTest.java
@@ -29,7 +29,7 @@ import org.apache.fury.Fury;
 import org.apache.fury.config.CompatibleMode;
 import org.apache.fury.config.FuryBuilder;
 import org.apache.fury.config.Language;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/CompressStringSuite.java
 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/CompressStringSuite.java
index dc66db92..63979c11 100644
--- 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/CompressStringSuite.java
+++ 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/CompressStringSuite.java
@@ -21,8 +21,8 @@ package org.apache.fury.benchmark;
 
 import java.nio.ByteBuffer;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.StringSerializer;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.StringUtils;
 import org.openjdk.jmh.Main;
 import org.openjdk.jmh.annotations.Benchmark;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/Identity2IdMap.java 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/Identity2IdMap.java
index 77656c75..2d9b1183 100644
--- a/java/benchmark/src/main/java/org/apache/fury/benchmark/Identity2IdMap.java
+++ b/java/benchmark/src/main/java/org/apache/fury/benchmark/Identity2IdMap.java
@@ -18,7 +18,7 @@ package org.apache.fury.benchmark;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 
 // Drived from
 // 
https://github.com/RuedigerMoeller/fast-serialization/blob/e8da5591daa09452791dcd992ea4f83b20937be7/src/main/java/org/nustaq/serialization/util/FSTIdentity2IdMap.java.
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/MemorySuite.java 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/MemorySuite.java
index d89b4188..0f51f9a5 100644
--- a/java/benchmark/src/main/java/org/apache/fury/benchmark/MemorySuite.java
+++ b/java/benchmark/src/main/java/org/apache/fury/benchmark/MemorySuite.java
@@ -23,7 +23,7 @@ import java.nio.ByteBuffer;
 import java.util.Random;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.StringUtils;
 import org.openjdk.jmh.Main;
 import org.openjdk.jmh.annotations.BenchmarkMode;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/NewJava11StringSuite.java
 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/NewJava11StringSuite.java
index 6d25399e..7c466159 100644
--- 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/NewJava11StringSuite.java
+++ 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/NewJava11StringSuite.java
@@ -21,8 +21,8 @@ package org.apache.fury.benchmark;
 
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.StringSerializer;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/NewStringSuite.java 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/NewStringSuite.java
index b92f8acb..36d4f12a 100644
--- a/java/benchmark/src/main/java/org/apache/fury/benchmark/NewStringSuite.java
+++ b/java/benchmark/src/main/java/org/apache/fury/benchmark/NewStringSuite.java
@@ -19,8 +19,8 @@
 
 package org.apache.fury.benchmark;
 
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.StringSerializer;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
 import org.openjdk.jmh.Main;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeDeserializeSuite.java
 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeDeserializeSuite.java
index e9f31411..94d24784 100644
--- 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeDeserializeSuite.java
+++ 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeDeserializeSuite.java
@@ -30,7 +30,7 @@ import org.apache.fury.benchmark.state.KryoState;
 import org.apache.fury.benchmark.state.ObjectType;
 import org.apache.fury.benchmark.state.ProtoBuffersState;
 import org.apache.fury.benchmark.state.ProtostuffState;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.openjdk.jmh.Main;
 import org.openjdk.jmh.annotations.Benchmark;
 import org.openjdk.jmh.annotations.BenchmarkMode;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeSerializeSuite.java
 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeSerializeSuite.java
index 462403fe..c563f099 100644
--- 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeSerializeSuite.java
+++ 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/UserTypeSerializeSuite.java
@@ -33,7 +33,7 @@ import org.apache.fury.benchmark.state.KryoState;
 import org.apache.fury.benchmark.state.ObjectType;
 import org.apache.fury.benchmark.state.ProtoBuffersState;
 import org.apache.fury.benchmark.state.ProtostuffState;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.openjdk.jmh.Main;
 import org.openjdk.jmh.annotations.Benchmark;
 import org.openjdk.jmh.annotations.BenchmarkMode;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/ZeroCopySuite.java 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/ZeroCopySuite.java
index c212bfd0..9861519c 100644
--- a/java/benchmark/src/main/java/org/apache/fury/benchmark/ZeroCopySuite.java
+++ b/java/benchmark/src/main/java/org/apache/fury/benchmark/ZeroCopySuite.java
@@ -43,9 +43,9 @@ import org.apache.fury.benchmark.state.BufferType;
 import org.apache.fury.config.Language;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.BufferObject;
 import org.apache.fury.test.bean.ArraysData;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.nustaq.serialization.FSTConfiguration;
 import org.openjdk.jmh.Main;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FlatBuffersState.java
 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FlatBuffersState.java
index 58e658d4..d99ad052 100644
--- 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FlatBuffersState.java
+++ 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FlatBuffersState.java
@@ -39,7 +39,7 @@ import org.apache.fury.benchmark.state.generated.FBSImage;
 import org.apache.fury.benchmark.state.generated.FBSMedia;
 import org.apache.fury.benchmark.state.generated.FBSMediaContent;
 import org.apache.fury.benchmark.state.generated.FBSSample;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.checkerframework.checker.nullness.qual.Nullable;
 import org.openjdk.jmh.annotations.Level;
 import org.openjdk.jmh.annotations.Param;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FstState.java 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FstState.java
index 5c4f7a44..2c87cce1 100644
--- a/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FstState.java
+++ b/java/benchmark/src/main/java/org/apache/fury/benchmark/state/FstState.java
@@ -29,7 +29,7 @@ import org.apache.fury.benchmark.data.Data;
 import org.apache.fury.benchmark.data.Image;
 import org.apache.fury.benchmark.data.Media;
 import org.apache.fury.benchmark.data.MediaContent;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 import org.nustaq.serialization.FSTConfiguration;
 import org.openjdk.jmh.annotations.CompilerControl;
diff --git 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/state/JsonbState.java 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/state/JsonbState.java
index eddcd34c..bec24c63 100644
--- 
a/java/benchmark/src/main/java/org/apache/fury/benchmark/state/JsonbState.java
+++ 
b/java/benchmark/src/main/java/org/apache/fury/benchmark/state/JsonbState.java
@@ -38,7 +38,7 @@ import org.apache.fury.Fury;
 import org.apache.fury.benchmark.data.CustomJDKSerialization;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 import org.openjdk.jmh.annotations.CompilerControl;
 import org.openjdk.jmh.annotations.Fork;
diff --git a/java/fury-core/src/main/java/org/apache/fury/Fury.java 
b/java/fury-core/src/main/java/org/apache/fury/Fury.java
index 6260da62..b03527de 100644
--- a/java/fury-core/src/main/java/org/apache/fury/Fury.java
+++ b/java/fury-core/src/main/java/org/apache/fury/Fury.java
@@ -43,6 +43,7 @@ import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassInfoHolder;
 import org.apache.fury.resolver.ClassResolver;
@@ -62,7 +63,6 @@ import org.apache.fury.serializer.StringSerializer;
 import org.apache.fury.type.Generics;
 import org.apache.fury.type.Type;
 import org.apache.fury.util.ExceptionUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.StringUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/builder/BaseObjectCodecBuilder.java
 
b/java/fury-core/src/main/java/org/apache/fury/builder/BaseObjectCodecBuilder.java
index dd0b69f2..583ca7ee 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/builder/BaseObjectCodecBuilder.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/builder/BaseObjectCodecBuilder.java
@@ -80,6 +80,7 @@ import org.apache.fury.codegen.ExpressionUtils;
 import org.apache.fury.codegen.ExpressionVisitor.ExprHolder;
 import org.apache.fury.collection.Tuple2;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassInfoHolder;
 import org.apache.fury.resolver.ClassResolver;
@@ -95,7 +96,6 @@ import 
org.apache.fury.serializer.collection.AbstractMapSerializer;
 import org.apache.fury.serializer.collection.CollectionFlags;
 import org.apache.fury.type.TypeUtils;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/builder/CodecBuilder.java 
b/java/fury-core/src/main/java/org/apache/fury/builder/CodecBuilder.java
index a9753fec..e2bb42bc 100644
--- a/java/fury-core/src/main/java/org/apache/fury/builder/CodecBuilder.java
+++ b/java/fury-core/src/main/java/org/apache/fury/builder/CodecBuilder.java
@@ -55,12 +55,12 @@ import org.apache.fury.codegen.Expression.Reference;
 import org.apache.fury.codegen.Expression.StaticInvoke;
 import org.apache.fury.collection.Tuple2;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassInfoHolder;
 import org.apache.fury.type.Descriptor;
 import org.apache.fury.type.FinalObjectTypeStub;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/builder/CompatibleCodecBuilder.java
 
b/java/fury-core/src/main/java/org/apache/fury/builder/CompatibleCodecBuilder.java
index 48db2f88..b521c321 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/builder/CompatibleCodecBuilder.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/builder/CompatibleCodecBuilder.java
@@ -65,6 +65,7 @@ import org.apache.fury.codegen.Expression.While;
 import org.apache.fury.codegen.ExpressionOptimizer;
 import org.apache.fury.codegen.ExpressionUtils;
 import org.apache.fury.collection.Tuple2;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.resolver.FieldResolver;
@@ -75,7 +76,6 @@ import org.apache.fury.resolver.FieldResolver.MapFieldInfo;
 import org.apache.fury.serializer.CompatibleSerializer;
 import org.apache.fury.type.Descriptor;
 import org.apache.fury.type.TypeUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.function.SerializableSupplier;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/builder/JITContext.java 
b/java/fury-core/src/main/java/org/apache/fury/builder/JITContext.java
index daac3734..b06775b6 100644
--- a/java/fury-core/src/main/java/org/apache/fury/builder/JITContext.java
+++ b/java/fury-core/src/main/java/org/apache/fury/builder/JITContext.java
@@ -34,7 +34,7 @@ import org.apache.fury.Fury;
 import org.apache.fury.annotation.Internal;
 import org.apache.fury.codegen.CodeGenerator;
 import org.apache.fury.config.Config;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 
 /** A context for managing jit serialization code generation in async 
multithreaded environment. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/builder/ObjectCodecBuilder.java 
b/java/fury-core/src/main/java/org/apache/fury/builder/ObjectCodecBuilder.java
index d9c4d5f3..6edc239f 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/builder/ObjectCodecBuilder.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/builder/ObjectCodecBuilder.java
@@ -56,11 +56,11 @@ import org.apache.fury.codegen.Expression.Reference;
 import org.apache.fury.codegen.Expression.ReplaceStub;
 import org.apache.fury.codegen.Expression.StaticInvoke;
 import org.apache.fury.codegen.ExpressionVisitor;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.ObjectSerializer;
 import org.apache.fury.serializer.PrimitiveSerializers.LongSerializer;
 import org.apache.fury.type.Descriptor;
 import org.apache.fury.type.DescriptorGrouper;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.function.SerializableSupplier;
 import org.apache.fury.util.record.RecordUtils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java 
b/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java
index e63f72fd..29b56715 100644
--- a/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java
+++ b/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java
@@ -56,8 +56,8 @@ import java.util.Collection;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.TypeUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/codegen/ExpressionVisitor.java 
b/java/fury-core/src/main/java/org/apache/fury/codegen/ExpressionVisitor.java
index 81cff6f4..5193cd97 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/codegen/ExpressionVisitor.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/codegen/ExpressionVisitor.java
@@ -34,8 +34,8 @@ import java.util.function.Consumer;
 import java.util.function.Function;
 import org.apache.fury.codegen.Expression.ListExpression;
 import org.apache.fury.codegen.Expression.Reference;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.TypeUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/config/FuryBuilder.java 
b/java/fury-core/src/main/java/org/apache/fury/config/FuryBuilder.java
index 264c23c8..753f6613 100644
--- a/java/fury-core/src/main/java/org/apache/fury/config/FuryBuilder.java
+++ b/java/fury-core/src/main/java/org/apache/fury/config/FuryBuilder.java
@@ -26,6 +26,7 @@ import org.apache.fury.ThreadLocalFury;
 import org.apache.fury.ThreadSafeFury;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.pool.ThreadPoolFury;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.serializer.JavaSerializer;
@@ -34,7 +35,6 @@ import org.apache.fury.serializer.Serializer;
 import org.apache.fury.serializer.TimeSerializers;
 import org.apache.fury.serializer.collection.GuavaCollectionSerializers;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 
 /** Builder class to config and create {@link Fury}. */
 // Method naming style for this builder:
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/io/FuryInputStream.java 
b/java/fury-core/src/main/java/org/apache/fury/io/FuryInputStream.java
index 87cf82f5..7096bd21 100644
--- a/java/fury-core/src/main/java/org/apache/fury/io/FuryInputStream.java
+++ b/java/fury-core/src/main/java/org/apache/fury/io/FuryInputStream.java
@@ -24,7 +24,7 @@ import java.io.InputStream;
 import java.nio.ByteBuffer;
 import javax.annotation.concurrent.NotThreadSafe;
 import org.apache.fury.memory.MemoryBuffer;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 
 /**
  * A buffered stream by fury. Do not use original {@link InputStream} when 
this stream object
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/io/FuryReadableChannel.java 
b/java/fury-core/src/main/java/org/apache/fury/io/FuryReadableChannel.java
index 0aea9e76..fd4d28c8 100644
--- a/java/fury-core/src/main/java/org/apache/fury/io/FuryReadableChannel.java
+++ b/java/fury-core/src/main/java/org/apache/fury/io/FuryReadableChannel.java
@@ -25,7 +25,7 @@ import java.nio.channels.ReadableByteChannel;
 import javax.annotation.concurrent.NotThreadSafe;
 import org.apache.fury.exception.DeserializationException;
 import org.apache.fury.memory.MemoryBuffer;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 
 @NotThreadSafe
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/memory/LittleEndian.java 
b/java/fury-core/src/main/java/org/apache/fury/memory/LittleEndian.java
index de5f9c1b..d519fdf9 100644
--- a/java/fury-core/src/main/java/org/apache/fury/memory/LittleEndian.java
+++ b/java/fury-core/src/main/java/org/apache/fury/memory/LittleEndian.java
@@ -19,8 +19,6 @@ package org.apache.fury.memory;
  * under the License.
  */
 
-import org.apache.fury.util.Platform;
-
 public class LittleEndian {
   public static int putVarUint36Small(byte[] arr, int index, long v) {
     if (v >>> 7 == 0) {
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java 
b/java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java
index d2b860c7..24e0a224 100644
--- a/java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java
+++ b/java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java
@@ -26,7 +26,6 @@ import java.util.Arrays;
 import org.apache.fury.annotation.CodegenInvoke;
 import org.apache.fury.io.AbstractStreamReader;
 import org.apache.fury.io.FuryStreamReader;
-import org.apache.fury.util.Platform;
 import sun.misc.Unsafe;
 
 /**
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/memory/MemoryUtils.java 
b/java/fury-core/src/main/java/org/apache/fury/memory/MemoryUtils.java
index 982eb846..720cecf2 100644
--- a/java/fury-core/src/main/java/org/apache/fury/memory/MemoryUtils.java
+++ b/java/fury-core/src/main/java/org/apache/fury/memory/MemoryUtils.java
@@ -22,7 +22,6 @@ package org.apache.fury.memory;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.nio.ByteBuffer;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 
 /** Memory utils for fury. */
diff --git a/java/fury-core/src/main/java/org/apache/fury/util/Platform.java 
b/java/fury-core/src/main/java/org/apache/fury/memory/Platform.java
similarity index 99%
rename from java/fury-core/src/main/java/org/apache/fury/util/Platform.java
rename to java/fury-core/src/main/java/org/apache/fury/memory/Platform.java
index 0485f0f8..d8d49e0b 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/Platform.java
+++ b/java/fury-core/src/main/java/org/apache/fury/memory/Platform.java
@@ -15,13 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.fury.util;
+package org.apache.fury.memory;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
+import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.unsafe._JDKAccess;
 import sun.misc.Unsafe;
 
diff --git a/java/fury-core/src/main/java/org/apache/fury/meta/ClassDef.java 
b/java/fury-core/src/main/java/org/apache/fury/meta/ClassDef.java
index cb34a5bf..93021491 100644
--- a/java/fury-core/src/main/java/org/apache/fury/meta/ClassDef.java
+++ b/java/fury-core/src/main/java/org/apache/fury/meta/ClassDef.java
@@ -46,6 +46,7 @@ import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.serializer.CompatibleSerializer;
 import org.apache.fury.type.Descriptor;
@@ -53,7 +54,6 @@ import org.apache.fury.type.DescriptorGrouper;
 import org.apache.fury.type.FinalObjectTypeStub;
 import org.apache.fury.type.GenericType;
 import org.apache.fury.util.MurmurHash3;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/resolver/ClassResolver.java 
b/java/fury-core/src/main/java/org/apache/fury/resolver/ClassResolver.java
index 1e4c3703..9af9360b 100644
--- a/java/fury-core/src/main/java/org/apache/fury/resolver/ClassResolver.java
+++ b/java/fury-core/src/main/java/org/apache/fury/resolver/ClassResolver.java
@@ -96,6 +96,7 @@ import org.apache.fury.exception.InsecureException;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.meta.ClassDef;
 import org.apache.fury.meta.MetaString;
 import org.apache.fury.serializer.ArraySerializers;
@@ -145,7 +146,6 @@ import org.apache.fury.type.GenericType;
 import org.apache.fury.type.ScalaTypes;
 import org.apache.fury.type.TypeUtils;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ArraySerializers.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ArraySerializers.java
index 4f9ead51..4852c7bd 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ArraySerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ArraySerializers.java
@@ -23,6 +23,7 @@ import java.lang.reflect.Array;
 import java.util.IdentityHashMap;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassInfoHolder;
 import org.apache.fury.resolver.ClassResolver;
@@ -31,7 +32,6 @@ import org.apache.fury.serializer.collection.CollectionFlags;
 import org.apache.fury.serializer.collection.FuryArrayAsListSerializer;
 import org.apache.fury.type.Type;
 import org.apache.fury.type.TypeUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/CompatibleSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/CompatibleSerializer.java
index e4d0d6a6..603f389f 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/CompatibleSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/CompatibleSerializer.java
@@ -27,6 +27,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.resolver.FieldResolver;
@@ -34,7 +35,6 @@ import org.apache.fury.resolver.RefResolver;
 import org.apache.fury.serializer.collection.CollectionSerializer;
 import org.apache.fury.serializer.collection.MapSerializer;
 import org.apache.fury.util.FieldAccessor;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.record.RecordInfo;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ExternalizableSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ExternalizableSerializer.java
index 736e573b..56840217 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ExternalizableSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ExternalizableSerializer.java
@@ -26,7 +26,7 @@ import org.apache.fury.Fury;
 import org.apache.fury.io.MemoryBufferObjectInput;
 import org.apache.fury.io.MemoryBufferObjectOutput;
 import org.apache.fury.memory.MemoryBuffer;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.ReflectionUtils;
 
 /** Serializer for class implements {@link Externalizable}. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ForwardSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ForwardSerializer.java
index 51e5755a..6e65e28b 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ForwardSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ForwardSerializer.java
@@ -29,9 +29,9 @@ import org.apache.fury.Fury;
 import org.apache.fury.config.Language;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.LoaderBinding;
 import org.apache.fury.util.LoaderBinding.StagingType;
-import org.apache.fury.util.Platform;
 
 /**
  * A thread-safe serializer used to forward serialization to different 
serializer implementation.
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/JavaSerializer.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/JavaSerializer.java
index acc65468..199a5eba 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/JavaSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/JavaSerializer.java
@@ -36,8 +36,8 @@ import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.BigEndian;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassResolver;
-import org.apache.fury.util.Platform;
 
 /**
  * Serializes objects using Java's built in serialization to be compatible 
with java serialization.
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/JdkProxySerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/JdkProxySerializer.java
index 5befb551..572ad298 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/JdkProxySerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/JdkProxySerializer.java
@@ -24,8 +24,8 @@ import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Proxy;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.RefResolver;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/MetaSharedSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/MetaSharedSerializer.java
index bc2644f6..77e19231 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/MetaSharedSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/MetaSharedSerializer.java
@@ -36,6 +36,7 @@ import org.apache.fury.collection.Tuple3;
 import org.apache.fury.config.CompatibleMode;
 import org.apache.fury.config.FuryBuilder;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.meta.ClassDef;
 import org.apache.fury.resolver.ClassInfoHolder;
 import org.apache.fury.resolver.ClassResolver;
@@ -44,7 +45,6 @@ import org.apache.fury.type.Descriptor;
 import org.apache.fury.type.DescriptorGrouper;
 import org.apache.fury.type.Generics;
 import org.apache.fury.util.FieldAccessor;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.record.RecordInfo;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectSerializer.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectSerializer.java
index abfbb4c8..8108903e 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectSerializer.java
@@ -34,6 +34,7 @@ import org.apache.fury.collection.Tuple2;
 import org.apache.fury.collection.Tuple3;
 import org.apache.fury.exception.FuryException;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassInfoHolder;
 import org.apache.fury.resolver.ClassResolver;
@@ -44,7 +45,6 @@ import org.apache.fury.type.FinalObjectTypeStub;
 import org.apache.fury.type.GenericType;
 import org.apache.fury.type.Generics;
 import org.apache.fury.util.FieldAccessor;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.record.RecordInfo;
 import org.apache.fury.util.record.RecordUtils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectStreamSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectStreamSerializer.java
index c70639bf..4d943483 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectStreamSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ObjectStreamSerializer.java
@@ -53,11 +53,11 @@ import org.apache.fury.collection.ObjectIntMap;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.resolver.FieldResolver;
 import org.apache.fury.resolver.FieldResolver.ClassField;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.Utils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/PrimitiveSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/PrimitiveSerializers.java
index a8c5a36d..e27cda8d 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/PrimitiveSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/PrimitiveSerializers.java
@@ -26,8 +26,8 @@ import org.apache.fury.codegen.Expression;
 import org.apache.fury.codegen.Expression.Invoke;
 import org.apache.fury.config.LongEncoding;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.Type;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 
 /** Serializers for java primitive types. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ReplaceResolveSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ReplaceResolveSerializer.java
index 4fc5b6f1..08554715 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/ReplaceResolveSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/ReplaceResolveSerializer.java
@@ -31,10 +31,10 @@ import org.apache.fury.Fury;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassInfo;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.resolver.RefResolver;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.unsafe._JDKAccess;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/Serializers.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/Serializers.java
index fb4274b6..2e3062d3 100644
--- a/java/fury-core/src/main/java/org/apache/fury/serializer/Serializers.java
+++ b/java/fury-core/src/main/java/org/apache/fury/serializer/Serializers.java
@@ -45,10 +45,10 @@ import java.util.regex.Pattern;
 import org.apache.fury.Fury;
 import org.apache.fury.collection.Tuple2;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.type.Type;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.Utils;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/StringSerializer.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/StringSerializer.java
index 8fbc429a..8e1e5bf9 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/StringSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/StringSerializer.java
@@ -38,9 +38,9 @@ import org.apache.fury.codegen.Expression.Invoke;
 import org.apache.fury.codegen.Expression.StaticInvoke;
 import org.apache.fury.memory.LittleEndian;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.Type;
 import org.apache.fury.util.MathUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.unsafe._JDKAccess;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/StructSerializer.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/StructSerializer.java
index f29d6442..dacec0c5 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/StructSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/StructSerializer.java
@@ -34,13 +34,13 @@ import 
org.apache.fury.exception.ClassNotCompatibleException;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.Descriptor;
 import org.apache.fury.type.GenericType;
 import org.apache.fury.type.Generics;
 import org.apache.fury.type.Type;
 import org.apache.fury.type.TypeUtils;
 import org.apache.fury.util.FieldAccessor;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.Utils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/URLSerializer.java 
b/java/fury-core/src/main/java/org/apache/fury/serializer/URLSerializer.java
index b2487e74..051f312c 100644
--- a/java/fury-core/src/main/java/org/apache/fury/serializer/URLSerializer.java
+++ b/java/fury-core/src/main/java/org/apache/fury/serializer/URLSerializer.java
@@ -23,7 +23,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 
 /** Serializer for {@link URL}. */
 // TODO(chaokunyang) ensure security to avoid dnslog detection.
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/CollectionSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/CollectionSerializers.java
index 40ad518c..0e84c953 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/CollectionSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/CollectionSerializers.java
@@ -43,12 +43,12 @@ import org.apache.fury.Fury;
 import org.apache.fury.config.Language;
 import org.apache.fury.exception.FuryException;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.serializer.ReplaceResolveSerializer;
 import org.apache.fury.serializer.Serializer;
 import org.apache.fury.serializer.Serializers;
 import org.apache.fury.type.Type;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/GuavaCollectionSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/GuavaCollectionSerializers.java
index ddf49726..c7217ec6 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/GuavaCollectionSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/GuavaCollectionSerializers.java
@@ -37,8 +37,8 @@ import java.util.Map;
 import java.util.function.Function;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.Type;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.unsafe._JDKAccess;
 
 /** Serializers for common guava types. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/ImmutableCollectionSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/ImmutableCollectionSerializers.java
index 9b637e65..3667b8cc 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/ImmutableCollectionSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/ImmutableCollectionSerializers.java
@@ -31,7 +31,7 @@ import java.util.Map;
 import java.util.Set;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.unsafe._JDKAccess;
 
 /** Serializers for jdk9+ java.util.ImmutableCollections. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/MapSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/MapSerializers.java
index 3733d264..2289f58c 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/MapSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/MapSerializers.java
@@ -34,13 +34,13 @@ import org.apache.fury.Fury;
 import org.apache.fury.collection.LazyMap;
 import org.apache.fury.config.Language;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.ClassResolver;
 import org.apache.fury.serializer.ReplaceResolveSerializer;
 import org.apache.fury.serializer.Serializer;
 import org.apache.fury.serializer.Serializers;
 import org.apache.fury.serializer.StringSerializer;
 import org.apache.fury.type.Type;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.ReflectionUtils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/SynchronizedSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/SynchronizedSerializers.java
index 7778b4e3..ac90be89 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/SynchronizedSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/SynchronizedSerializers.java
@@ -39,8 +39,8 @@ import org.apache.fury.collection.Tuple2;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.Serializer;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Utils;
 
 /** Serializer for synchronized Collections and Maps created via Collections. 
*/
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/UnmodifiableSerializers.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/UnmodifiableSerializers.java
index f6207001..193ba1c7 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/collection/UnmodifiableSerializers.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/collection/UnmodifiableSerializers.java
@@ -38,8 +38,8 @@ import org.apache.fury.collection.Tuple2;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.Serializer;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.Utils;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonCollectionSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonCollectionSerializer.java
index 82d4a2db..7b102243 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonCollectionSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonCollectionSerializer.java
@@ -23,9 +23,9 @@ import java.lang.reflect.Field;
 import java.util.Collection;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.collection.AbstractCollectionSerializer;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 
 /**
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonMapSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonMapSerializer.java
index e842b883..50be016f 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonMapSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonMapSerializer.java
@@ -23,9 +23,9 @@ import java.lang.reflect.Field;
 import java.util.Map;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.collection.AbstractMapSerializer;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 
 /**
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonObjectSerializer.java
 
b/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonObjectSerializer.java
index 191a3e54..19cf09f9 100644
--- 
a/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonObjectSerializer.java
+++ 
b/java/fury-core/src/main/java/org/apache/fury/serializer/scala/SingletonObjectSerializer.java
@@ -22,9 +22,9 @@ package org.apache.fury.serializer.scala;
 import java.lang.reflect.Field;
 import org.apache.fury.Fury;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.Serializer;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 
 /**
diff --git a/java/fury-core/src/main/java/org/apache/fury/type/Descriptor.java 
b/java/fury-core/src/main/java/org/apache/fury/type/Descriptor.java
index 35c339e4..e4af8d0a 100644
--- a/java/fury-core/src/main/java/org/apache/fury/type/Descriptor.java
+++ b/java/fury-core/src/main/java/org/apache/fury/type/Descriptor.java
@@ -46,7 +46,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import org.apache.fury.annotation.Ignore;
 import org.apache.fury.annotation.Internal;
 import org.apache.fury.collection.Tuple2;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.StringUtils;
 import org.apache.fury.util.record.RecordComponent;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/util/FieldAccessor.java 
b/java/fury-core/src/main/java/org/apache/fury/util/FieldAccessor.java
index d8a2349f..23cb96f8 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/FieldAccessor.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/FieldAccessor.java
@@ -26,6 +26,7 @@ import java.util.function.Predicate;
 import java.util.function.ToDoubleFunction;
 import java.util.function.ToIntFunction;
 import java.util.function.ToLongFunction;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.TypeUtils;
 import org.apache.fury.util.function.Functions;
 import org.apache.fury.util.function.ToByteFunction;
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/util/ReflectionUtils.java 
b/java/fury-core/src/main/java/org/apache/fury/util/ReflectionUtils.java
index a7f04a96..f5e7ee8d 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/ReflectionUtils.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/ReflectionUtils.java
@@ -48,6 +48,7 @@ import java.util.stream.Stream;
 import org.apache.fury.annotation.CodegenInvoke;
 import org.apache.fury.annotation.Internal;
 import org.apache.fury.collection.Tuple3;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.function.Functions;
 import org.apache.fury.util.unsafe._JDKAccess;
 
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/util/UnsafeFieldAccessor.java 
b/java/fury-core/src/main/java/org/apache/fury/util/UnsafeFieldAccessor.java
index e28fd351..d9e7a05b 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/UnsafeFieldAccessor.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/UnsafeFieldAccessor.java
@@ -20,6 +20,7 @@
 package org.apache.fury.util;
 
 import java.lang.reflect.Field;
+import org.apache.fury.memory.Platform;
 import sun.misc.Unsafe;
 
 /** An object field accessor based on {@link Unsafe}. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/DefineClass.java 
b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/DefineClass.java
index e2fe03e2..439fe69f 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/DefineClass.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/DefineClass.java
@@ -24,7 +24,7 @@ import java.lang.invoke.MethodHandles;
 import java.lang.invoke.MethodType;
 import java.security.ProtectionDomain;
 import org.apache.fury.annotation.Internal;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 
 /** A class to define bytecode as a class. */
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Collections.java 
b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Collections.java
index de06f591..0aa792be 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Collections.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Collections.java
@@ -20,7 +20,7 @@
 package org.apache.fury.util.unsafe;
 
 import java.util.ArrayList;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 
 /** Unsafe collection utils. */
 // CHECKSTYLE.OFF:TypeName
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java 
b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java
index dd429197..f6d1b80f 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java
@@ -38,9 +38,9 @@ import java.util.function.ToDoubleFunction;
 import java.util.function.ToIntFunction;
 import java.util.function.ToLongFunction;
 import org.apache.fury.collection.Tuple2;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.type.TypeUtils;
 import org.apache.fury.util.GraalvmSupport;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.Preconditions;
 import org.apache.fury.util.Utils;
 import org.apache.fury.util.function.ToByteFunction;
diff --git a/java/fury-core/src/main/resources/META-INF/LICENSE 
b/java/fury-core/src/main/resources/META-INF/LICENSE
index c3a89b29..4dcb88f8 100644
--- a/java/fury-core/src/main/resources/META-INF/LICENSE
+++ b/java/fury-core/src/main/resources/META-INF/LICENSE
@@ -221,7 +221,7 @@ The text of each license is the standard Apache 2.0 license.
 * spark (https://github.com/apache/spark)
     Files:
       java/fury-core/src/main/java/org/apache/fury/codegen/Code.java
-      java/fury-core/src/main/java/org/apache/fury/util/Platform.java
+      java/fury-core/src/main/java/org/apache/fury/memory/Platform.java
 
 * commons-io (https://github.com/apache/commons-io)
     Files:
diff --git 
a/java/fury-core/src/main/resources/META-INF/native-image/org.apache.fury/fury-core/native-image.properties
 
b/java/fury-core/src/main/resources/META-INF/native-image/org.apache.fury/fury-core/native-image.properties
index 4a696c71..4d8597f7 100644
--- 
a/java/fury-core/src/main/resources/META-INF/native-image/org.apache.fury/fury-core/native-image.properties
+++ 
b/java/fury-core/src/main/resources/META-INF/native-image/org.apache.fury/fury-core/native-image.properties
@@ -28,7 +28,7 @@ 
Args=--initialize-at-build-time=org.apache.fury.memory.MemoryBuffer,\
     org.apache.fury.serializer.StringSerializer,\
     org.apache.fury.serializer.Serializers,\
     org.apache.fury.serializer.shim.ShimDispatcher,\
-    org.apache.fury.util.Platform,\
+    org.apache.fury.memory.Platform,\
     org.apache.fury.util.ReflectionUtils,\
     org.apache.fury.util.unsafe._Lookup,\
     org.apache.fury.util.unsafe._JDKAccess,\
diff --git a/java/fury-core/src/test/java/org/apache/fury/FuryTest.java 
b/java/fury-core/src/test/java/org/apache/fury/FuryTest.java
index 0c497c12..0b15c48e 100644
--- a/java/fury-core/src/test/java/org/apache/fury/FuryTest.java
+++ b/java/fury-core/src/test/java/org/apache/fury/FuryTest.java
@@ -60,6 +60,7 @@ import org.apache.fury.exception.FuryException;
 import org.apache.fury.exception.InsecureException;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.ArraySerializersTest;
 import org.apache.fury.serializer.ObjectSerializer;
 import org.apache.fury.serializer.Serializer;
@@ -68,7 +69,6 @@ import org.apache.fury.test.bean.BeanA;
 import org.apache.fury.test.bean.Struct;
 import org.apache.fury.type.Descriptor;
 import org.apache.fury.util.DateTimeUtils;
-import org.apache.fury.util.Platform;
 import org.testng.Assert;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
diff --git a/java/fury-core/src/test/java/org/apache/fury/FuryTestBase.java 
b/java/fury-core/src/test/java/org/apache/fury/FuryTestBase.java
index 1ec1660c..7db156cb 100644
--- a/java/fury-core/src/test/java/org/apache/fury/FuryTestBase.java
+++ b/java/fury-core/src/test/java/org/apache/fury/FuryTestBase.java
@@ -36,9 +36,9 @@ import org.apache.fury.config.FuryBuilder;
 import org.apache.fury.config.Language;
 import org.apache.fury.io.ClassLoaderObjectInputStream;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.resolver.MetaContext;
 import org.apache.fury.serializer.BufferObject;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.testng.Assert;
 import org.testng.annotations.DataProvider;
diff --git a/java/fury-core/src/test/java/org/apache/fury/StreamTest.java 
b/java/fury-core/src/test/java/org/apache/fury/StreamTest.java
index 95d783ac..0d075e8d 100644
--- a/java/fury-core/src/test/java/org/apache/fury/StreamTest.java
+++ b/java/fury-core/src/test/java/org/apache/fury/StreamTest.java
@@ -28,6 +28,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.ByteBuffer;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import org.apache.fury.io.FuryInputStream;
@@ -39,6 +40,33 @@ import org.apache.fury.util.ReflectionUtils;
 import org.testng.annotations.Test;
 
 public class StreamTest {
+  // Note that Fury instances should be reused between
+  // multiple serializations of different objects.
+  private static final ThreadSafeFury fury =
+      new ThreadLocalFury(
+          classLoader -> {
+            Fury f =
+                
Fury.builder().withClassLoader(classLoader).requireClassRegistration(false).build();
+            return f;
+          });
+
+  public static byte[] encoder(Object object) {
+    return fury.serialize(object);
+  }
+
+  public static <T> T decoder(byte[] bytes) {
+    return (T) fury.deserialize(bytes);
+  }
+
+  public static void main(String[] args) {
+    byte len = 10;
+    ByteBuffer byteBuffer = ByteBuffer.allocate(len);
+    for (int i = 0; i < len; i++) {
+      byteBuffer.put((byte) i);
+    }
+    System.out.println(encoder(byteBuffer).length);
+  }
+
   @Test
   public void testBufferStream() {
     MemoryBuffer buffer0 = MemoryBuffer.newHeapBuffer(10);
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/codegen/JaninoUtilsTest.java 
b/java/fury-core/src/test/java/org/apache/fury/codegen/JaninoUtilsTest.java
index 71fc566a..ad74ae57 100644
--- a/java/fury-core/src/test/java/org/apache/fury/codegen/JaninoUtilsTest.java
+++ b/java/fury-core/src/test/java/org/apache/fury/codegen/JaninoUtilsTest.java
@@ -25,9 +25,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.test.bean.Struct;
 import org.apache.fury.util.ClassLoaderUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.codehaus.commons.compiler.CompileException;
 import org.codehaus.commons.compiler.util.reflect.ByteArrayClassLoader;
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/memory/MemoryBufferTest.java 
b/java/fury-core/src/test/java/org/apache/fury/memory/MemoryBufferTest.java
index 18d54abb..bc65ce74 100644
--- a/java/fury-core/src/test/java/org/apache/fury/memory/MemoryBufferTest.java
+++ b/java/fury-core/src/test/java/org/apache/fury/memory/MemoryBufferTest.java
@@ -24,7 +24,6 @@ import static org.testng.Assert.assertTrue;
 
 import java.nio.ByteBuffer;
 import java.util.Random;
-import org.apache.fury.util.Platform;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/resolver/DisallowedListTest.java 
b/java/fury-core/src/test/java/org/apache/fury/resolver/DisallowedListTest.java
index 3005a8b0..c2bd0c9a 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/resolver/DisallowedListTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/resolver/DisallowedListTest.java
@@ -24,7 +24,7 @@ import org.apache.fury.Fury;
 import org.apache.fury.FuryTestBase;
 import org.apache.fury.config.Language;
 import org.apache.fury.exception.InsecureException;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/serializer/StringSerializerTest.java
 
b/java/fury-core/src/test/java/org/apache/fury/serializer/StringSerializerTest.java
index 205da9a9..e0f70d19 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/serializer/StringSerializerTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/serializer/StringSerializerTest.java
@@ -37,8 +37,8 @@ import org.apache.fury.collection.Tuple2;
 import org.apache.fury.config.Language;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.MathUtils;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.apache.fury.util.StringUtils;
 import org.testng.Assert;
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/serializer/collection/SynchronizedSerializersTest.java
 
b/java/fury-core/src/test/java/org/apache/fury/serializer/collection/SynchronizedSerializersTest.java
index 774e8d6f..efbe8f3b 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/serializer/collection/SynchronizedSerializersTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/serializer/collection/SynchronizedSerializersTest.java
@@ -40,9 +40,9 @@ import org.apache.fury.FuryTestBase;
 import org.apache.fury.config.Language;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.Serializer;
 import org.apache.fury.test.bean.CollectionFields;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.testng.annotations.Test;
 
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/serializer/collection/UnmodifiableSerializersTest.java
 
b/java/fury-core/src/test/java/org/apache/fury/serializer/collection/UnmodifiableSerializersTest.java
index 2e6197c7..1f3cc909 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/serializer/collection/UnmodifiableSerializersTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/serializer/collection/UnmodifiableSerializersTest.java
@@ -46,10 +46,10 @@ import org.apache.fury.FuryTestBase;
 import org.apache.fury.config.Language;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.Serializer;
 import org.apache.fury.test.bean.CollectionFields;
 import org.apache.fury.test.bean.MapFields;
-import org.apache.fury.util.Platform;
 import org.apache.fury.util.ReflectionUtils;
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/util/PlatformTest.java 
b/java/fury-core/src/test/java/org/apache/fury/util/PlatformTest.java
index f00b640e..7ced538b 100644
--- a/java/fury-core/src/test/java/org/apache/fury/util/PlatformTest.java
+++ b/java/fury-core/src/test/java/org/apache/fury/util/PlatformTest.java
@@ -27,6 +27,7 @@ import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
+import org.apache.fury.memory.Platform;
 import org.testng.annotations.Test;
 
 public class PlatformTest {
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/util/unsafe/DefineClassTest.java 
b/java/fury-core/src/test/java/org/apache/fury/util/unsafe/DefineClassTest.java
index 70d5ccd6..da49bb1f 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/util/unsafe/DefineClassTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/util/unsafe/DefineClassTest.java
@@ -22,8 +22,8 @@ package org.apache.fury.util.unsafe;
 import java.util.Collections;
 import org.apache.fury.codegen.CompileUnit;
 import org.apache.fury.codegen.JaninoUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.ClassLoaderUtils;
-import org.apache.fury.util.Platform;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
diff --git 
a/java/fury-core/src/test/java/org/apache/fury/util/unsafe/JDKAccessTest.java 
b/java/fury-core/src/test/java/org/apache/fury/util/unsafe/JDKAccessTest.java
index 5dd30e69..251c271c 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/util/unsafe/JDKAccessTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/util/unsafe/JDKAccessTest.java
@@ -25,7 +25,7 @@ import java.lang.invoke.MethodType;
 import java.util.function.BiConsumer;
 import java.util.function.Consumer;
 import java.util.function.Function;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.testng.Assert;
 import org.testng.SkipException;
 import org.testng.annotations.Test;
diff --git 
a/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryArray.java
 
b/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryArray.java
index c69114fe..3b1c5cb9 100644
--- 
a/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryArray.java
+++ 
b/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryArray.java
@@ -34,7 +34,7 @@ import org.apache.fury.format.type.DataTypes;
 import org.apache.fury.memory.BitUtils;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.util.Preconditions;
 
 /**
diff --git 
a/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryMap.java
 
b/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryMap.java
index ea942baf..d0e9886c 100644
--- 
a/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryMap.java
+++ 
b/java/fury-format/src/main/java/org/apache/fury/format/row/binary/BinaryMap.java
@@ -25,7 +25,7 @@ import org.apache.fury.format.row.MapData;
 import org.apache.fury.format.type.DataTypes;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 
 /**
  * An BinaryMap implementation of Map which is backed by two 
BinaryArray./FuryObjectOutput
diff --git 
a/java/fury-format/src/main/java/org/apache/fury/format/row/binary/writer/BinaryArrayWriter.java
 
b/java/fury-format/src/main/java/org/apache/fury/format/row/binary/writer/BinaryArrayWriter.java
index 9bd72d8b..7cd46032 100644
--- 
a/java/fury-format/src/main/java/org/apache/fury/format/row/binary/writer/BinaryArrayWriter.java
+++ 
b/java/fury-format/src/main/java/org/apache/fury/format/row/binary/writer/BinaryArrayWriter.java
@@ -34,7 +34,7 @@ import org.apache.fury.format.row.binary.BinaryArray;
 import org.apache.fury.format.type.DataTypes;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 
 /**
  * Writer for binary array. See {@link BinaryArray}
diff --git 
a/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowSerializers.java
 
b/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowSerializers.java
index 3394b019..efc117a6 100644
--- 
a/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowSerializers.java
+++ 
b/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowSerializers.java
@@ -36,10 +36,10 @@ import org.apache.fury.io.MemoryBufferWritableChannel;
 import org.apache.fury.io.MockWritableChannel;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.BufferObject;
 import 
org.apache.fury.serializer.Serializers.CrossLanguageCompatibleSerializer;
 import org.apache.fury.type.Type;
-import org.apache.fury.util.Platform;
 
 /** Serializers for apache arrow. */
 public class ArrowSerializers {
diff --git 
a/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowTableSerializer.java
 
b/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowTableSerializer.java
index 1ccf3618..451e5e07 100644
--- 
a/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowTableSerializer.java
+++ 
b/java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowTableSerializer.java
@@ -30,9 +30,9 @@ import org.apache.arrow.vector.ipc.message.ArrowRecordBatch;
 import org.apache.fury.Fury;
 import org.apache.fury.io.MemoryBufferReadableChannel;
 import org.apache.fury.memory.MemoryBuffer;
+import org.apache.fury.memory.Platform;
 import org.apache.fury.serializer.Serializers;
 import org.apache.fury.type.Type;
-import org.apache.fury.util.Platform;
 
 /** Serializers for {@link ArrowTable}. */
 public class ArrowTableSerializer
diff --git 
a/java/fury-format/src/test/java/org/apache/fury/format/row/binary/BinaryRowTest.java
 
b/java/fury-format/src/test/java/org/apache/fury/format/row/binary/BinaryRowTest.java
index 03e4d75d..8a4b922d 100644
--- 
a/java/fury-format/src/test/java/org/apache/fury/format/row/binary/BinaryRowTest.java
+++ 
b/java/fury-format/src/test/java/org/apache/fury/format/row/binary/BinaryRowTest.java
@@ -31,7 +31,7 @@ import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
 import org.apache.fury.memory.MemoryBuffer;
 import org.apache.fury.memory.MemoryUtils;
-import org.apache.fury.util.Platform;
+import org.apache.fury.memory.Platform;
 import org.testng.annotations.Test;
 
 public class BinaryRowTest {
diff --git a/licenserc.toml b/licenserc.toml
index 77d85c65..66c0cadf 100644
--- a/licenserc.toml
+++ b/licenserc.toml
@@ -45,7 +45,7 @@ excludes = [
     "java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java",
     "java/fury-core/src/main/java/org/apache/fury/type/Generics.java",
     "java/fury-core/src/main/java/org/apache/fury/util/MurmurHash3.java",
-    "java/fury-core/src/main/java/org/apache/fury/util/Platform.java",
+    "java/fury-core/src/main/java/org/apache/fury/memory/Platform.java",
     "java/fury-core/src/main/java/org/apache/fury/util/Preconditions.java",
     "java/fury-core/src/test/java/org/apache/fury/type/GenericsTest.java",
     
"java/fury-format/src/main/java/org/apache/fury/format/vectorized/ArrowWriter.java",


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to