27
28 import java.io.ObjectStreamClass.WeakClassKey;
29 import java.lang.ref.ReferenceQueue;
30 import java.lang.reflect.Array;
31 import java.lang.reflect.InvocationHandler;
32 import java.lang.reflect.Modifier;
33 import java.lang.reflect.Proxy;
34 import java.security.AccessControlContext;
35 import java.security.AccessController;
36 import java.security.PrivilegedAction;
37 import java.security.PrivilegedActionException;
38 import java.security.PrivilegedExceptionAction;
39 import java.util.Arrays;
40 import java.util.HashMap;
41 import java.util.Objects;
42 import java.util.concurrent.ConcurrentHashMap;
43 import java.util.concurrent.ConcurrentMap;
44
45 import static java.io.ObjectStreamClass.processQueue;
46
47 import sun.misc.SharedSecrets;
48 import sun.misc.ObjectInputFilter;
49 import sun.misc.ObjectStreamClassValidator;
50 import sun.misc.SharedSecrets;
51 import sun.reflect.misc.ReflectUtil;
52 import sun.misc.JavaOISAccess;
53 import sun.util.logging.PlatformLogger;
54 import sun.security.action.GetBooleanAction;
55 import sun.security.action.GetIntegerAction;
56
57 /**
58 * An ObjectInputStream deserializes primitive data and objects previously
59 * written using an ObjectOutputStream.
60 *
61 * <p>ObjectOutputStream and ObjectInputStream can provide an application with
62 * persistent storage for graphs of objects when used with a FileOutputStream
63 * and FileInputStream respectively. ObjectInputStream is used to recover
64 * those objects previously serialized. Other uses include passing objects
65 * between hosts using a socket stream or for marshaling and unmarshaling
66 * arguments and parameters in a remote communication system.
67 *
|
27
28 import java.io.ObjectStreamClass.WeakClassKey;
29 import java.lang.ref.ReferenceQueue;
30 import java.lang.reflect.Array;
31 import java.lang.reflect.InvocationHandler;
32 import java.lang.reflect.Modifier;
33 import java.lang.reflect.Proxy;
34 import java.security.AccessControlContext;
35 import java.security.AccessController;
36 import java.security.PrivilegedAction;
37 import java.security.PrivilegedActionException;
38 import java.security.PrivilegedExceptionAction;
39 import java.util.Arrays;
40 import java.util.HashMap;
41 import java.util.Objects;
42 import java.util.concurrent.ConcurrentHashMap;
43 import java.util.concurrent.ConcurrentMap;
44
45 import static java.io.ObjectStreamClass.processQueue;
46
47 import sun.misc.ObjectInputFilter;
48 import sun.misc.ObjectStreamClassValidator;
49 import sun.misc.SharedSecrets;
50 import sun.reflect.misc.ReflectUtil;
51 import sun.misc.JavaOISAccess;
52 import sun.util.logging.PlatformLogger;
53 import sun.security.action.GetBooleanAction;
54 import sun.security.action.GetIntegerAction;
55
56 /**
57 * An ObjectInputStream deserializes primitive data and objects previously
58 * written using an ObjectOutputStream.
59 *
60 * <p>ObjectOutputStream and ObjectInputStream can provide an application with
61 * persistent storage for graphs of objects when used with a FileOutputStream
62 * and FileInputStream respectively. ObjectInputStream is used to recover
63 * those objects previously serialized. Other uses include passing objects
64 * between hosts using a socket stream or for marshaling and unmarshaling
65 * arguments and parameters in a remote communication system.
66 *
|