首页 > 代码库 > Java踩坑笔记:ObjectIOStream与IOStream的各种装饰器(先挖个坑,以后再来详细填)
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的各种装饰器(先挖个坑,以后再来详细填)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。