java 内存地址的获取_java获取对象的内存地址
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import sun.misc.Unsafe;
import java.util.Collections;
import java.lang.reflect.Field;
public static void main(String[] args) {
String a = new String("123"); String b = new String("123");
System.out.println(getAddresses(a));
System.out.println(getAddresses(b));
}
public static String getAddresses(Object... objects)
{
StringBuffer sb = new StringBuffer();
sb.append("0x");
// sun.arch.data.model=32 // 32 bit JVM
// sun.arch.data.model=64 // 64 bit JVM
boolean is64bit = Integer.parseInt(System.getProperty("sun.arch.data.model")) == 32 ? false : true;
Unsafe unsafe = getUnsafe();
long last = 0;
int offset = unsafe.arrayBaseOffset(object
import java.util.ArrayList; import java.util.List; import java.util.Stack; import sun.misc.Unsafe; import java.util.Collections; import java.lang.reflect.Field; public static void main(String[] args) { String a = new String("123"); String b = new String("123"); System.out.println(getAddresses(a)); System.out.println(getAddresses(b)); } public static String getAddresses(Object... objects) { StringBuffer sb = new StringBuffer(); sb.append("0x"); // sun.arch.data.model=32 // 32 bit JVM // sun.arch.data.model=64 // 64 bit JVM boolean is64bit = Integer.parseInt(System.getProperty("sun.arch.data.model")) == 32 ? false : true; Unsafe unsafe = getUnsafe(); long last = 0; int offset = unsafe.arrayBaseOffset(object上一篇:
IDEA上Java项目控制台中文乱码