美文网首页
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