day14 I/O流——序列化与反序列化 & 计算机网络五层架构 & TCP的建立连接与断开连接

day 14

序列化与反序列化

序列化

将对象转化成特定格式的字符串文件(字节文件)叫做序列化

1.一个类要想实现序列化,必须实现serializable接口

2.序列化用途

​ 1)把对象的字节序列永久地保存到硬盘上,通常放在一个文件中;

​ 2)在网络上传送对象的字节序列

3.序列化ID的作用:

​ 序列化ID起着关键的作用,java序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的

反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较

如果相同认为一致,可以进行反序列化,否则就会报序列化版本不一致的异常

transient关键字

//transient透明的,序列化的时候不予考虑

transient int no = 1;

实现接口:java.io.Serializable

try{
    User u = new User();
    u.setName("zs");
    u.setAge(11);
    File file = new File("D://siTu/test/from");
    OutputStream in = new FileOutputStream(file);
    ObjectInputStream objin = new ObjectOutputStream(in);
    objin.writeObject(u);
    objin.close();
    in.close();
}catch(){
    
}

反序列化

将特定字节文件转化为对象叫做反序列化

计算机网络

实现通信条件

1)IP协议

Internet Protocol,为计算机网络相互连接进行通信而设计的协议

2)IP地址

IP地址具有唯一性

范围0.0.0.0-255.255.255.255

本计算机IP地址:127.0.0.1或者0.0.0.0

3)端口号

包括物理端口和逻辑端口wan(广域网)lan(局域网)

物理端口:用于连接物理设备之间的接口(服务器在网络中的地址)

逻辑端口:逻辑上用于区分应用程序(服务)的端口(应用程序在服务器上的地址)

端口号只有整数:0-65535(2^16-1)

系统端口号:0-1023(2^10-1)

登记端口号:1024-49151 程序

客户端口号:49152-65535(子程序如qq插件)

http:80网络通信

ftp:21文件传输**

telnet:23

tomcat:8080java项目容器

Mysql:3306数据库

reids:6379非关系型数据库

nacos:8848注册中心

TCP/IP协议 传输控制协议 负责传输

五层计算机网络

应用层:软件所处层http协议/DNS/FTP/HTTPS

​ 网络服务与最终用户的一个接口

传输层:tcp协议 UDP硬件

​ 定义传输数据的协议端口号,以及流程控制和差错校验

网络层:ip协议

​ ICMP/IP(IPv4 IPv6)ARP PARP

数据链路层:物理端口

​ 建立逻辑链接,进行硬件地址寻址,差错校验等功能

物理层:服务器

​ 建立.维护.断开物理连接(由底层网络定义协议)

三次握手和四次挥手

TCP 建立连接 三次握手

​ TCP是面向连接的通信协议。通过三次握手建立连接
通过四次挥手断开连接

其他具体计算机网络相关见网盘内容

链接: https://pan.baidu.com/s/12DI9Oh4CwYhbWVDldUUjPw?pwd=1234 提取码: 1234 复制这段内容后打开百度网盘手机App,操作更方便哦

posted @ 2022-10-19 20:55  小彤在努力  阅读(43)  评论(0)    收藏  举报