You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tsfile.apache.org by ja...@apache.org on 2024/01/05 01:22:46 UTC
(tsfile) 01/01: Avoid directly import sun.misc packages
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/AviodConstant
in repository https://gitbox.apache.org/repos/asf/tsfile.git
commit 19e3cc870fdf3cc38b8424c2315ab5ae8a094473
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Fri Jan 5 09:22:33 2024 +0800
Avoid directly import sun.misc packages
---
.../iotdb/tsfile/utils/RamUsageEstimator.java | 40 +++++-----------------
1 file changed, 9 insertions(+), 31 deletions(-)
diff --git a/common-api/src/main/java/org/apache/iotdb/tsfile/utils/RamUsageEstimator.java b/common-api/src/main/java/org/apache/iotdb/tsfile/utils/RamUsageEstimator.java
index 3aff9494..80f1f022 100644
--- a/common-api/src/main/java/org/apache/iotdb/tsfile/utils/RamUsageEstimator.java
+++ b/common-api/src/main/java/org/apache/iotdb/tsfile/utils/RamUsageEstimator.java
@@ -531,61 +531,39 @@ public final class RamUsageEstimator {
}
}
- // These constant values are derived from sun.misc.Unsafe, as referencing this class was causing
- // compilation issues.
- // TODO: Verify that these values don't actually change from one version of the SDK to the other.
- public static final int ARRAY_OBJECT_BASE_OFFSET = 16;
- public static final int ARRAY_OBJECT_INDEX_SCALE = 4;
- public static final int ARRAY_BOOLEAN_BASE_OFFSET = 16;
- public static final int ARRAY_BOOLEAN_INDEX_SCALE = 1;
- public static final int ARRAY_BYTE_BASE_OFFSET = 16;
- public static final int ARRAY_BYTE_INDEX_SCALE = 1;
- public static final int ARRAY_SHORT_BASE_OFFSET = 16;
- public static final int ARRAY_SHORT_INDEX_SCALE = 2;
- public static final int ARRAY_INT_BASE_OFFSET = 16;
- public static final int ARRAY_INT_INDEX_SCALE = 4;
- public static final int ARRAY_LONG_BASE_OFFSET = 16;
- public static final int ARRAY_LONG_INDEX_SCALE = 8;
- public static final int ARRAY_FLOAT_BASE_OFFSET = 16;
- public static final int ARRAY_FLOAT_INDEX_SCALE = 4;
- public static final int ARRAY_DOUBLE_BASE_OFFSET = 16;
- public static final int ARRAY_DOUBLE_INDEX_SCALE = 8;
- public static final int ARRAY_CHAR_BASE_OFFSET = 16;
- public static final int ARRAY_CHAR_INDEX_SCALE = 2;
-
public static long sizeOfBooleanArray(int length) {
- return ARRAY_BOOLEAN_BASE_OFFSET + (((long) ARRAY_BOOLEAN_INDEX_SCALE) * length);
+ return alignObjectSize((long) NUM_BYTES_ARRAY_HEADER + length);
}
public static long sizeOfByteArray(int length) {
- return ARRAY_BYTE_BASE_OFFSET + (((long) ARRAY_BYTE_INDEX_SCALE) * length);
+ return alignObjectSize((long) NUM_BYTES_ARRAY_HEADER + length);
}
public static long sizeOfShortArray(int length) {
- return ARRAY_SHORT_BASE_OFFSET + (((long) ARRAY_SHORT_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) Short.BYTES * length);
}
public static long sizeOfCharArray(int length) {
- return ARRAY_CHAR_BASE_OFFSET + (((long) ARRAY_CHAR_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) Character.BYTES * length);
}
public static long sizeOfIntArray(int length) {
- return ARRAY_INT_BASE_OFFSET + (((long) ARRAY_INT_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) Integer.BYTES * length);
}
public static long sizeOfLongArray(int length) {
- return ARRAY_LONG_BASE_OFFSET + (((long) ARRAY_LONG_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) Long.BYTES * length);
}
public static long sizeOfFloatArray(int length) {
- return ARRAY_FLOAT_BASE_OFFSET + (((long) ARRAY_FLOAT_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) Float.BYTES * length);
}
public static long sizeOfDoubleArray(int length) {
- return ARRAY_DOUBLE_BASE_OFFSET + (((long) ARRAY_DOUBLE_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) Double.BYTES * length);
}
public static long sizeOfObjectArray(int length) {
- return ARRAY_OBJECT_BASE_OFFSET + (((long) ARRAY_OBJECT_INDEX_SCALE) * length);
+ return alignObjectSize(NUM_BYTES_ARRAY_HEADER + (long) NUM_BYTES_OBJECT_REF * length);
}
}