JDK源码-InputStream系列之ObjectOutputStream/ObjectInputStream

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字节分块,以块的形式写入到输出流。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容