个人学习笔记
文章平均质量分 91
小冰冰丶
这个作者很懒,什么都没留下…
展开
-
Netty之传输(3)
传统的网络编程如下public void server(int port) throws Exception { //将服务器绑定到指定端口 ServerSocket socket = new ServerSocket(port); try { for (;;){ //接受连接 Socket accept = socket.accept();原创 2021-02-02 12:07:37 · 169 阅读 · 0 评论 -
Netty之组件和设计(2)
之前已经对netty的有了基本的了解(https://blog.csdn.net/shehuinibingge/article/details/113365868)接下来再来了解下netty的组件和设计1.Channel接口基本的I/O操作(bind(), connect(),read()和write()等等。Channel接口提供的API大量简化了我们直接使用Socket嘞的复杂度。2.EventLoop接口EventLoop定义了netty的核心抽象,用于处理连接生命周期内发生的所有原创 2021-02-01 16:17:19 · 135 阅读 · 0 评论 -
Netty学习之简介(1)
在早期进行网络编程的时候,大部分都是一个Socket对应一个Tread去进行读写,这种情况下Socket的accept()方法一直会阻塞带连接建立,还有read和write方法也会一直阻塞。那这会有什么问题呢?1.当并发量起来的时候就会有很多个线程被创建,因为一个客户端就需要一个线程;2.创建多个线程之后,其实用了之后大部分线程会进入一个空闲状态,他们只是在等待资源的输入或者输出,这就造成资源的浪费;3.内存空间的浪费,每个线程的调用都是要消堆耗栈空间的。4.系统开销量大,因为每个用户线程和系统线程都是要进原创 2021-01-29 14:42:21 · 141 阅读 · 0 评论 -
NIO个人学习笔记
目录一、初入NIO1)是什么?2)什么不同?a)Channels 和 Buffers(通道和缓存)b)Non-blocking IO(非阻塞)c)Selectors(选择器)二、概述1)Channel和Buffera)Channelb)Buffer2)Selector三、Channel(通道)1)Channel的实现2)示例四、Buffer(缓存)1)用法2)capacity、limit和positiona)capacityb)po原创 2020-06-05 13:48:37 · 206 阅读 · 0 评论