学习笔记Day37
对象流:用于存储和读取的基本数据类型数据或对象的处理流。强大之处在于可以将java的对象写入数据源中,也能把对象从数据源中还原回来。
序列化过程:将内存中的java对象保存在磁盘中或者通过网络传输出去。
反序列化:将磁盘文件中的对象还原为内存中的一个java对象。
类要想实现可序列化,满足条件:
- 需要实现接口:Serializable
- 当前类提供了一个全局常量:serialVersionUID
- 除了当前类需要实现Serializable接口之外,还必须保证其内部所有属性也必须是可序列化的。(默认情况下,基本数据类型也是可序列化的)
注意:
RandomAccessFile类:随机存取文件流,直接继承与Object类,实现了DataInput和DataOutput接口,即可作为输入流,也可以作为一个输出流。如果其作为输出流时,写出到的文件是对原有文件内容的覆盖,不是整个文件的覆盖。其可以通过 相关的操作,实现插入数据的效果。
网络编程中的两个要素:
1、IP和端口号
2、提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理层+数据链路层)
本地回路地址:127.0.0.1 对应着:localhost
如何实例化InetAddress:getByName(String host)/getLocalHost()
两个常用方法:getHostName()/getHostAddress()
端口号:正在计算机上运行的进程。
要求:不同的进程有不同的端口号,范围被规定为一个16位的整数0–65535
端口号与IP组合得到一个网络套接字:Socket
TCP:类似于打电话
UDP:类似发短信,直播。
客户端的创建步骤:
服务器端的创建:
5.资源关闭
URL类:统一资源定位符,表示Internet上某一资源的地址