一、为什么使用Netty做为网路通信
Netty 官方介绍 https://netty.io/
Netty is an asynchronous event-driven network application framework
for rapid development of maintainable high…
五、粘包和半包问题
Copy 1. \n 作为分割符,进行行的区分。
2. compact进行处理,把第一次没有读取完的数据,向前移动和后面的内容进行整合。
读取的一行的数据中 \n 后不是完整的叫粘包
读取一行数据 /n 之前不是完整的数据叫半包
Copy
//1. 半包 粘包
public…
四、NIO的核心API
buffer 中写入数据 [写模式 创建一个 bytebuffer ,clear (),compact ()] Copy
channel.read(buffer)
2. buffer的put方法
buffer.put(byte) buffer.put…
三、ByteBuffer详解
1.ByteBuffer 的设计是抽象类 主要的实现类有:
HeapByteBuffer 堆 ByteBuffer 用的是 JVM 内的堆内存 --> 读写操作效率低 会受到 GC 的影响
2. MapperByteBuffer(抽象类 ,它还有个实现类叫…
二、NIO的基本开发方式
channel 简介 IO 通信的通道,类似于 InputStream、OutputStream
Channel 没有方向性
常见 Channel
文件操作
FileChannel,读写文件中的数据。
网络操作
SocketChannel,通过 TCP…
杂记
1. 在 java 面向对象设计中,什么时候使用抽象类?什么时候使用接口? 一般将 名词 设计为抽象类
例如:动物、汽车、水果
将 动词、功能 设计为接口
例如:DAO 、service、controller
2. 内存溢出和内存泄漏指的是什么?
内存溢出 是指…