Java 使用 ObjectStream 时的注意事项
来源:互联网 发布:java递归创建二叉树 编辑:程序博客网 时间:2024/05/21 16:57
Java 使用 ObjectStream 时的注意事项
在向下阅读之前,请注意 JavaBean 要实现 Serializable 接口。
初始化时发生了什么?
ObjectOutputStream 初始化时会送出其 header 数据给对端。
ObjectInputStream 初始化时会阻塞地接收来自对端的 header 数据。
发现了吗,这可能会有两处问题。
- 两端的输入和输出流的初始化的顺序不互恰,导致在 ObjectInputStream 的初始化阶段发生阻塞。
- 某端的输入或输出流和对端的输出或输入流初始化的次数不同,导致阻塞或对端收到错误数据报异常。
对 (1) 我们只要保证两端互恰即可。
// serveroos = new ObjectOutputStream(socket.getOutputStream());ois = new ObjectInputStream(socket.getInputStream());
// clientois = new ObjectInputStream(socket.getInputStream());oos = new ObjectOutputStream(socket.getOutputStream());
对 (2) 我们要保证两端初始化的逻辑一致。
一般用法示例
简单举例,也是给自己做个备忘。
数据包
import java.io.Serializable;public class PersonBean implements Serializable { public String name = null;}
读
ObjectInputStream input = new ObjectInputStream(socket.getInputStream());PersonBean person = (PersonBean) input.readObject();
写
PersonBean person = new PersonBean();person.name = "name";ObjectOutputStream output = new ObjectOutputStream(socket.getOutputStream());output.writeObject(person);output.flush(); // 如果不刷新,则 ObjectOutputStream 会缓存上一个对象的引用,导致每次都送出的是同一个。
阅读全文
0 0
- Java 使用 ObjectStream 时的注意事项
- ObjectStream的使用
- 使用ObjectStream会出现的问题
- JAVA程序开发小经验 - 使用ObjectStream会出现的问题
- java-ObjectStream初步认识
- java对象流ObjectStream
- ObjectStream
- 黑马程序员-常用的IO类使用,PrintStream,SequenceInputStream,文件切割,ObjectStream
- java的split使用注意事项
- Java变量的使用注意事项
- Java使用变量的注意事项
- java jpcap使用的注意事项
- Java中ObjectStream序列化实现
- 使用DOS编译java文件时的注意事项
- Domino使用Java代理的注意事项
- Domino使用Java代理的注意事项
- Domino使用Java代理的注意事项
- JAVA-使用异常处理语句的注意事项
- spring 4.2.0后jdbcTemplate中不用queryForLong了
- centos7 mysql数据库安装和配置
- 猕猴桃,程序员们的明智选择!
- DOM基本操作
- CRM系统哪家好?CRM系统功能介绍
- Java 使用 ObjectStream 时的注意事项
- MapReduce原理
- 建站记录2-CSS文件未加载-已解决-Resource interpreted as Stylesheet but transferred with MIME type text/plain
- 【剑指Offer】连续子数组的最大和
- ubuntu1604下 快捷键 ctrl alt b 会出现软键盘
- 一些平时会用到的资料
- tensorflow学习笔记(3):会话(session)
- 智邦国际CRM系统核心功能作用
- 用jqueryweui框架开发的微信公众号,底部按钮弹出对话框苹果真机上无效果的问题