jdk/src/java.base/share/specs/serialization/index.md
changeset 45585 63a11d230593
parent 45584 965113ea3d05
parent 45581 4261be231c01
child 45589 dd2abc9892f9
equal deleted inserted replaced
45584:965113ea3d05 45585:63a11d230593
     1 ---
       
     2 # Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
       
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4 #
       
     5 # This code is free software; you can redistribute it and/or modify it
       
     6 # under the terms of the GNU General Public License version 2 only, as
       
     7 # published by the Free Software Foundation.
       
     8 #
       
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12 # version 2 for more details (a copy is included in the LICENSE file that
       
    13 # accompanied this code).
       
    14 #
       
    15 # You should have received a copy of the GNU General Public License version
       
    16 # 2 along with this work; if not, write to the Free Software Foundation,
       
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18 #
       
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    20 # or visit www.oracle.com if you need additional information or have any
       
    21 # questions.
       
    22 
       
    23 include-before: 'CONTENTS | PREV | [NEXT](serial-arch.html)'
       
    24 include-after: 'CONTENTS | PREV | [NEXT](serial-arch.html)'
       
    25 
       
    26 title: 'Java Object Serialization Specification: Contents'
       
    27 ---
       
    28 
       
    29 -------------------------------------------------------------------------------
       
    30 
       
    31 ## Table of Contents
       
    32 
       
    33 ### 1 [System Architecture](serial-arch.html)
       
    34 
       
    35 -   1.1 [Overview](serial-arch.html#overview)
       
    36 -   1.2 [Writing to an Object
       
    37     Stream](serial-arch.html#writing-to-an-object-stream)
       
    38 -   1.3 [Reading from an Object
       
    39     Stream](serial-arch.html#reading-from-an-object-stream)
       
    40 -   1.4 [Object Streams as
       
    41     Containers](serial-arch.html#object-streams-as-containers)
       
    42 -   1.5 [Defining Serializable Fields for a
       
    43     Class](serial-arch.html#defining-serializable-fields-for-a-class)
       
    44 -   1.6 [Documenting Serializable Fields and Data for a
       
    45     Class](serial-arch.html#documenting-serializable-fields-and-data-for-a-class)
       
    46 -   1.7 [Accessing Serializable Fields of a
       
    47     Class](serial-arch.html#accessing-serializable-fields-of-a-class)
       
    48 -   1.8 [The ObjectOutput
       
    49     Interface](serial-arch.html#the-objectoutput-interface)
       
    50 -   1.9 [The ObjectInput Interface](serial-arch.html#the-objectinput-interface)
       
    51 -   1.10 [The Serializable
       
    52     Interface](serial-arch.html#the-serializable-interface)
       
    53 -   1.11 [The Externalizable
       
    54     Interface](serial-arch.html#the-externalizable-interface)
       
    55 -   1.12 [Serialization of Enum
       
    56     Constants](serial-arch.html#serialization-of-enum-constants)
       
    57 -   1.13 [Protecting Sensitive
       
    58     Information](serial-arch.html#protecting-sensitive-information)
       
    59 
       
    60 ### 2 [Object Output Classes](output.html)
       
    61 
       
    62 -   2.1 [The ObjectOutputStream
       
    63     Class](output.html#the-objectoutputstream-class)
       
    64 -   2.2 [The ObjectOutputStream.PutField
       
    65     Class](output.html#the-objectoutputstream.putfield-class)
       
    66 -   2.3 [The writeObject Method](output.html#the-writeobject-method)
       
    67 -   2.4 [The writeExternal Method](output.html#the-writeexternal-method)
       
    68 -   2.5 [The writeReplace Method](output.html#the-writereplace-method)
       
    69 -   2.6 [The useProtocolVersion
       
    70     Method](output.html#the-useprotocolversion-method)
       
    71 
       
    72 ### 3 [Object Input Classes](input.html)
       
    73 
       
    74 -   3.1 [The ObjectInputStream Class](input.html#the-objectinputstream-class)
       
    75 -   3.2 [The ObjectInputStream.GetField
       
    76     Class](input.html#the-objectinputstream.getfield-class)
       
    77 -   3.3 [The ObjectInputValidation
       
    78     Interface](input.html#the-objectinputvalidation-interface)
       
    79 -   3.4 [The readObject Method](input.html#the-readobject-method)
       
    80 -   3.5 [The readObjectNoData Method](input.html#the-readobjectnodata-method)
       
    81 -   3.6 [The readExternal Method](input.html#the-readexternal-method)
       
    82 -   3.7 [The readResolve Method](input.html#the-readresolve-method)
       
    83 
       
    84 ### 4 [Class Descriptors](class.html)
       
    85 
       
    86 -   4.1 [The ObjectStreamClass Class](class.html#the-objectstreamclass-class)
       
    87 -   4.2 [Dynamic Proxy Class
       
    88     Descriptors](class.html#dynamic-proxy-class-descriptors)
       
    89 -   4.3 [Serialized Form](class.html#serialized-form)
       
    90 -   4.4 [The ObjectStreamField Class](class.html#the-objectstreamfield-class)
       
    91 -   4.5 [Inspecting Serializable
       
    92     Classes](class.html#inspecting-serializable-classes)
       
    93 -   4.6 [Stream Unique Identifiers](class.html#stream-unique-identifiers)
       
    94 
       
    95 ### 5 [Versioning of Serializable Objects](version.html)
       
    96 
       
    97 -   5.1 [Overview](version.html#overview)
       
    98 -   5.2 [Goals](version.html#goals)
       
    99 -   5.3 [Assumptions](version.html#assumptions)
       
   100 -   5.4 [Who's Responsible for Versioning of
       
   101     Streams](version.html#whos-responsible-for-versioning-of-streams)
       
   102 -   5.5 [Compatible Java Type
       
   103     Evolution](version.html#compatible-java-type-evolution)
       
   104 -   5.6 [Type Changes Affecting
       
   105     Serialization](version.html#type-changes-affecting-serialization)
       
   106     -   5.6.1 [Incompatible Changes](version.html#incompatible-changes)
       
   107     -   5.6.2 [Compatible Changes](version.html#compatible-changes)
       
   108 
       
   109 ### 6 [Object Serialization Stream Protocol](protocol.html)
       
   110 
       
   111 -   6.1 [Overview](protocol.html#overview)
       
   112 -   6.2 [Stream Elements](protocol.html#stream-elements)
       
   113 -   6.3 [Stream Protocol Versions](protocol.html#stream-protocol-versions)
       
   114 -   6.4 [Grammar for the Stream
       
   115     Format](protocol.html#grammar-for-the-stream-format)
       
   116     -   6.4.1 [Rules of the Grammar](protocol.html#rules-of-the-grammar)
       
   117     -   6.4.2 [Terminal Symbols and
       
   118         Constants](protocol.html#terminal-symbols-and-constants)
       
   119 
       
   120 ### A [Security in Object Serialization](security.html)
       
   121 
       
   122 ### B [Exceptions In Object Serialization](exceptions.html)
       
   123 
       
   124 ### C [Example of Serializable Fields](examples.html)
       
   125 
       
   126 -   [C.1 Example Alternate Implementation of
       
   127     `java.io.File`](examples.html#c.1-example-alternate-implementation-of-java.io.file)
       
   128 
       
   129 -------------------------------------------------------------------------------
       
   130 
       
   131 *[Copyright](../../../legal/SMICopyright.html) © 2005, 2017, Oracle
       
   132 and/or its affiliates. All rights reserved.*