美文网首页
JDK源码-InputStream系列之ObjectOutput

JDK源码-InputStream系列之ObjectOutput

作者: 薛云龙 | 来源:发表于2017-08-25 18:31 被阅读33次

    ObjectOutputStream/ObjectInputStream

    这两个类的代码,太j8庞大了,单独拿出来写了

    • ObjectOutputStream可以将java基本数据类型或实现了序列化接口(Serializable)的对象写入其它输出流。如果配合FileOutputStream可以将对象写入磁盘,实现对象的持久化存储;如果配合网络流,则可以实现对象的网络传输。
    • ObjectOutputStream实现了接口ObjectOutput.而这个接口继承了DataOutput,相当于对DataOutput进行了扩展.实现了ObjectOutput接口的类,可以向object中写入数据.

    内部类

    • Caches:缓存子类相关的数据
    private static class Caches {
            /** cache of subclass security audit results */缓存了子类的安全审查结果
            static final ConcurrentMap<WeakClassKey,Boolean> subclassAudits =
                new ConcurrentHashMap<>();
    
            /** queue for WeakReferences to audited subclasses */已审查过的子类的弱引用队列
            static final ReferenceQueue<Class<?>> subclassAuditsQueue =
                new ReferenceQueue<>();
        }
    
    • BlockDataOutputStream:负责将数据真正写入到输出流中,它有两种模式,一种是正常写入,与DataOutputStream没有什么区别,另一种是块数据(Data Block)模式,将数据以1024字节分块,以块的形式写入到输出流。

    相关文章

      网友评论

          本文标题:JDK源码-InputStream系列之ObjectOutput

          本文链接:https://www.haomeiwen.com/subject/bfkpdxtx.html