src/java.base/share/classes/java/io/ObjectStreamClass.java

Print this page
rev 12972 : 8140606: Update library code to use internal Unsafe
Reviewed-by: duke


  31 import java.lang.ref.WeakReference;
  32 import java.lang.reflect.Constructor;
  33 import java.lang.reflect.Field;
  34 import java.lang.reflect.InvocationTargetException;
  35 import java.lang.reflect.Member;
  36 import java.lang.reflect.Method;
  37 import java.lang.reflect.Modifier;
  38 import java.lang.reflect.Proxy;
  39 import java.security.AccessController;
  40 import java.security.MessageDigest;
  41 import java.security.NoSuchAlgorithmException;
  42 import java.security.PrivilegedAction;
  43 import java.util.ArrayList;
  44 import java.util.Arrays;
  45 import java.util.Collections;
  46 import java.util.Comparator;
  47 import java.util.HashSet;
  48 import java.util.Set;
  49 import java.util.concurrent.ConcurrentHashMap;
  50 import java.util.concurrent.ConcurrentMap;
  51 import sun.misc.Unsafe;
  52 import sun.reflect.CallerSensitive;
  53 import sun.reflect.Reflection;
  54 import sun.reflect.ReflectionFactory;
  55 import sun.reflect.misc.ReflectUtil;
  56 
  57 /**
  58  * Serialization's descriptor for classes.  It contains the name and
  59  * serialVersionUID of the class.  The ObjectStreamClass for a specific class
  60  * loaded in this Java VM can be found/created using the lookup method.
  61  *
  62  * <p>The algorithm to compute the SerialVersionUID is described in
  63  * <a href="../../../platform/serialization/spec/class.html#4100">Object
  64  * Serialization Specification, Section 4.6, Stream Unique Identifiers</a>.
  65  *
  66  * @author      Mike Warres
  67  * @author      Roger Riggs
  68  * @see ObjectStreamField
  69  * @see <a href="../../../platform/serialization/spec/class.html">Object Serialization Specification, Section 4, Class Descriptors</a>
  70  * @since   1.1
  71  */




  31 import java.lang.ref.WeakReference;
  32 import java.lang.reflect.Constructor;
  33 import java.lang.reflect.Field;
  34 import java.lang.reflect.InvocationTargetException;
  35 import java.lang.reflect.Member;
  36 import java.lang.reflect.Method;
  37 import java.lang.reflect.Modifier;
  38 import java.lang.reflect.Proxy;
  39 import java.security.AccessController;
  40 import java.security.MessageDigest;
  41 import java.security.NoSuchAlgorithmException;
  42 import java.security.PrivilegedAction;
  43 import java.util.ArrayList;
  44 import java.util.Arrays;
  45 import java.util.Collections;
  46 import java.util.Comparator;
  47 import java.util.HashSet;
  48 import java.util.Set;
  49 import java.util.concurrent.ConcurrentHashMap;
  50 import java.util.concurrent.ConcurrentMap;
  51 import jdk.internal.misc.Unsafe;
  52 import sun.reflect.CallerSensitive;
  53 import sun.reflect.Reflection;
  54 import sun.reflect.ReflectionFactory;
  55 import sun.reflect.misc.ReflectUtil;
  56 
  57 /**
  58  * Serialization's descriptor for classes.  It contains the name and
  59  * serialVersionUID of the class.  The ObjectStreamClass for a specific class
  60  * loaded in this Java VM can be found/created using the lookup method.
  61  *
  62  * <p>The algorithm to compute the SerialVersionUID is described in
  63  * <a href="../../../platform/serialization/spec/class.html#4100">Object
  64  * Serialization Specification, Section 4.6, Stream Unique Identifiers</a>.
  65  *
  66  * @author      Mike Warres
  67  * @author      Roger Riggs
  68  * @see ObjectStreamField
  69  * @see <a href="../../../platform/serialization/spec/class.html">Object Serialization Specification, Section 4, Class Descriptors</a>
  70  * @since   1.1
  71  */