其实一直都在关注NETTY,前面也花了点时间去看过,但是还是觉得对netty还不是很了解,所以还是打算系统的学习一下。并且把学习的过程记录下来,当成后面追溯的地方。以前的学习就是只是看,没有很好的记录,导致不系统不连贯。俗话说:好记性不如烂笔头。
在开始netty探索之旅之前,还是先来回顾一下NIO的知识。
NIO在JDK1.4的时候就已经有了(同步非阻塞IO)。
关于阻塞IO,同步非阻塞IO,异步非阻塞IO,可以参考我其他的博客: http://jishuaige.iteye.com/blog/2355648。里面比较详细的讲解了一下。
这里说一下其他的两个方面:
1:stream和buffer
传统的IO是面向字节流或者是字符流的,而NIO中引入了channel和buffer的概念,在NIO中会读取channel中的数据到buffer中,或者是把buffer中的数据写入到channel中。
在我们熟知的Java IO操作中,是以流的方式顺序从stream中读取一个或者多个字节,因此我们不能随意改变读取指针的位置。在buffer中,当我们从channel中读取数据到buffer中时,我们可以随意读取任意位置的数据。
2:selector:通过selector,在一个线程里面可以处理多个channel的IO事件。一个channel注册到selector后(channel必须是非阻塞的),selector的内部机制就自动的不断查询注册的channel是否有已经就绪的IO事件(读,写,连接事件)。调用selector中的select()方法,这个方法会阻塞,直到channel产生了可读写的事件发生后,select()返回。当前的线程就可以处理事件了。
分享到:
相关推荐
《Netty进阶之路-跟着案例学Netty》是由知名技术专家李林峰撰写的一本专为Java开发者深入理解Netty框架而准备的书籍。这本书旨在通过实例教学,帮助读者全面掌握Netty的核心特性和实战技巧,提升网络编程的能力。 ...
Java进阶技术-netty进阶之路
Netty进阶之路 跟着案例学Netty 整本书无密码,Netty进阶之路 跟着案例学Netty
《Netty进阶之路:跟着案例学Netty》中的案例涵盖了Netty的启动和停止、内存、并发多线程、性能、可靠性、安全等方面,囊括了Netty绝大多数常用的功能及容易让人犯错的地方。在案例的分析过程中,还穿插讲解了Netty...
本书作者是国内Netty技术的先行者和布道者,本书是他继《Netty权威指南》之后的又一力作。在本书中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过...
Netty是Java领域的一款高性能、异步事件驱动的网络应用框架,主要用于快速开发可维护的高性能协议服务器和客户端。在本精讲中,我们将深入探讨Netty的核心概念、设计模式以及实际应用场景,帮助你全面理解并掌握...
1. **ServerBootstrap**:在Netty中,创建ServerChannel的第一步是实例化一个`ServerBootstrap`对象。这个类提供了一种配置服务器端点的方式,包括通道类型、管道工厂、线程池等。通过`bind()`方法,我们可以将...
在本文中,我们将深入探讨如何使用Spring Boot和Netty实现一个简单的一对一聊天应用程序。Spring Boot是Java领域中广泛使用的微服务框架,它简化了配置并提供了快速启动的应用程序开发体验。Netty则是一个高性能、...
1. **Channel**:是Netty中的核心概念,代表了一个网络连接。你可以通过Channel进行读写操作,并监听各种网络事件。 2. **EventLoop**:EventLoop是Netty的线程模型,负责处理I/O事件和调度任务。每个Channel都与一...
《Netty权威指南》第1版 是异步非阻塞通信领域的经典之作,基于最新版本Netty 5.0编写,是国内首本深入介绍Netty原理和架构的技术书籍,也是作者多年实战经验的总结和浓缩。在理论方面,讲解了Netty的逻辑架构模型和...
读书笔记:Netty权威指南学习之旅
《Netty实战》这本书是针对Java网络编程框架Netty的一本深入实践教程,旨在帮助读者掌握Netty的核心特性和实际应用。Netty是一款高性能、异步事件驱动的网络应用程序框架,广泛应用于各种分布式系统、微服务架构以及...
netty-all-5.0.0.Alpha1.jar netty-all-5.0.0.Alpha1-sources.jar netty-all-5.0.0.Alpha1-javadoc.jar netty-example-5.0.0.Alpha1.jar netty-example-5.0.0.Alpha1-sources.jar netty-all-5.0.0.Alpha2.jar ...
Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。它广泛应用于各种领域,如分布式系统、云计算、游戏服务器、大数据传输等。Netty 的设计目标是提供一个简单...
《跟闪电侠学Netty:Netty即时聊天实战与底层原理》是一本深入浅出的Netty技术指南,旨在帮助读者掌握Netty框架,并利用它实现即时聊天应用,同时理解其底层工作原理。Netty是Java领域的一款高性能、异步事件驱动的...
在Netty中,最重要的概念之一是“Boss线程”和“Worker线程”的模型。Boss线程负责接收新的连接请求,而Worker线程则处理这些连接后的读写操作,这种模型能够有效提高系统的并发能力。Netty的NIO(非阻塞I/O)模型...
《Netty实战》是针对Java开发者的一本技术指南,它深入介绍了如何利用Netty这个高性能、异步事件驱动的网络应用程序框架来构建高效且可扩展的网络应用。Netty不仅简化了网络编程的复杂性,还提供了丰富的特性和组件...
在《Netty进阶之路:跟着案例学Netty》中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析...
《Netty in Action》是Java网络编程领域的一本权威指南,涵盖了Netty框架的全面知识。Netty是一个高性能、异步事件驱动的网络应用程序框架,主要用于快速开发可维护的高性能协议服务器和客户端。这本书分为两个版本...
Netty基础,用于学习Netty,参考黑马程序员的netty教程