Java踩坑笔记:ObjectIOStream与IOStream的各种装饰器(先挖个坑,以后再来详细填)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java踩坑笔记:ObjectIOStream与IOStream的各种装饰器(先挖个坑,以后再来详细填)相关的知识,希望对你有一定的参考价值。

Java的序列化和ObjectStream真是一个大坑。。

 

先不说多线程环境下的问题,在单线程里,一个Socket只能保持一个ObjectOutputStream,原因好像是在于ObjectOutputStream有锁机制或是阻塞之类的东西,否则会导致接受方出现”StreamCorruptedException : invalid type code AC“,同理ObjectInputStream也只能保持一个,否则接收方会出现header错误的相关异常。

 

据说原因是ObjectOutputStream在构造的时候即new一个出来的时候,就会给输出流的开头添加几个用于表示序列化对象开头的字节,多次的new而不close就会导致流里面有多个表示开头的地方,接收方就会报错。

 

顿时感觉Java IO真是一块大头,可能会比Net和Thread两座大山更大,等以后有缘分看完API的源码,我就回来再填吧(flag

以上是关于Java踩坑笔记:ObjectIOStream与IOStream的各种装饰器(先挖个坑,以后再来详细填)的主要内容,如果未能解决你的问题,请参考以下文章

Java笔记Tomcat登陆案例踩坑 凸(艹皿艹 )

黑马Java笔记+踩坑汇总JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城

React 踩坑笔记

JDK源码笔记之Integer深度解析以及并发下错误的加锁方式踩坑笔记

winform 关于无边框和拖动窗体边缘改变尺寸的 踩坑笔记

java踩坑-编译错误:FastJson与lombok导致找不到符号:方法getId