![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
西木东林
这个作者很懒,什么都没留下…
展开
-
java序列化与反序列化
首先说下序列化和反序列化的概念:序列化: 将对象转换为字节的过程.成为对象序列化反序列化:将字节转换为对象的过程,成为对象反序列化对象的持久化概念:把字节保存的硬盘上永久的存放 网络传输对象概念:客户端将对象序列化为字节(序列化),变成二进制的形式发送到服务器端端,服务器端接受到字节对象后,反序列化成对象注意序列化的类必须要实现Serializable接口 t...原创 2020-03-18 21:21:12 · 120 阅读 · 0 评论 -
Socket和Http之间的区别和概述
socket和http的区别:Http协议:简单的对象访问协议,对应于应用层。Http协议是基于TCP链接的。tcp协议:对应于传输层ip协议:对应与网络层TCP/IP是传输层协议,主要解决数据如何在网络中传输;而Http是应用层协议,主要解决如何包装数据。Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TC...转载 2020-03-18 10:58:39 · 151 阅读 · 0 评论 -
Netty框架基础
不选择Java原生NIO编程的原因1.NIO的类库和API繁杂,使用麻烦,你需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。2.需要具备其他的额外技能做铺垫,例如熟悉Java多线程编程。这是因为NIO编程涉及到Reactor模式,你必须对多线程和网路编程非常熟悉,才能编写出高质量的NIO程序。...原创 2020-03-18 10:30:02 · 616 阅读 · 0 评论 -
IO和NIO的区别
题外话看到NIO一堆繁杂的API瞬间就不想学这个NIO了,但是我们可以先从模糊的认识上先理解下NIO和IO的区别。初识IO特点:采用面向流的操作。IO流是没有缓存的概念,所以就需要每次从流中一个一个字节的去读或者每次从流中一个一个字节的去写。而且我们知道流本身是单工的数据通信。IO可以分为文件IO和网络IO。文件IO是中的read和write都是阻塞的,网络IO中的read、...转载 2020-03-18 10:08:41 · 145 阅读 · 0 评论 -
NIO多路复用底层实现原理
Bio演变的NIO的过程Bio是一个阻塞式的io,不能够支持并发请求访问;可以多线程优化代码这种方式也存在缺点:如果每个请求过来都使用一个线程,这时候非常浪费CPU的资源。所以在网络编程服务器中,是否使用单线程提高响应的效率问题,所以nio出现; public class ServerTcpSocket { static byte[] bytes = new b...原创 2020-03-16 23:50:30 · 2925 阅读 · 0 评论 -
网络编程基础
OSI七层模型应用层:Http协议、电子文件传输、文件服务器等表示层:解决我们不同系统之间语法的通讯会话层:建立与应用程序之间的通讯传输层:提供了端口号和接口协议TPC/Udp网络层:为数据包选择路由 路由器、交换机定义了ip地址,可以根据ip地址找到对应的服务器数据链路层:传输有地址的帧以及错误检测功能物理层:以二进制形式,在物理机器上实现传输(光...原创 2020-03-16 20:57:54 · 129 阅读 · 0 评论