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
经验分享 程序员 微信小程序 职场和发展