【Netty】Netty学习笔记(一)
Netty是一款用于创建高性能网络应用程序的高级框架,是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端
1 Netty基本概念和体系
1.1 Java网络编程的基本概念
- 同步:系统发出一个请求时,在没有得到返回值之前,该请求就不返回响应值,但是一旦请求返回,就得到返回值了。
- 异步:系统请求调用在发出之后,这个调用就直接返回了,但是这个时候系统并没有得到对应的请求结果。在之后的某个时间点,被请求的资源通过某种消息通信机制通知请求调用方,或通过回掉函数处理这个调用。中间这段时间系统可以执行其他任务。
- 异步事件驱动:系统可以以任意的顺序响应(可能先响应的事件并不是最早发生的)在任意时间点产生(响应时间要晚于发生时间)的事件。
- 阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
- 非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
- 可伸缩性:一种系统、网络或者进程在需要处理的工作不断增长时,可以通过某种可行的方式或者扩大它处理能力来适应这种增长的能力
1.2 Netty组件
- Channel:数据进行交互的载体,类似于两地之间的水管
- 回调:回调其实就是方法,指向已经被提供给另外一个方法的方法的引用。意思就是方法是调用者的,但是被提供给被调用者触发之后执行使用。
- Future:Future 提供了另一种在操作完成时通知应用程序的方式。这个对象可以看作是一个异步操作的结果的占位符;它将在未来的某个时刻完成,并提供对其结果的访问。
- 事件和ChannelHandler:事件驱动,Channelhandler类似一个选择器,用来选择执行对象。
原文地址 https://blog.csdn.net/liuqinyuan92/article/details/81349032