你好,我是彤哥,本篇是netty系列的第五篇。 简介 上一章我们一起学习了如何使用Java原生NIO实现群聊系统,这章我们一起来看看Java NIO的核心组件之一——Channel。 思维转变 首先,我想说的最重要的一个点是,学习NIO思维一定要从BIO那种一个连接一个线程的模式转变成 ...
日拱一卒,不期而至 你好,我是彤哥,本篇是netty系列的第六篇。 简介 上一章我们一起学习了Java NIO的核心组件Channel,它可以看作是实体与实体之间的连接,而且需要与Buffer交互,这一章我们就来学习一下Buffer的特性。 概念 Buffer用于与Channel交互时使用,通过上一章的学习我们知道,数据从Channel读取到Buffer,或者从Buffer写入Channel。 ...
2019-12-03 22:38 1 258 推荐指数:
你好,我是彤哥,本篇是netty系列的第五篇。 简介 上一章我们一起学习了如何使用Java原生NIO实现群聊系统,这章我们一起来看看Java NIO的核心组件之一——Channel。 思维转变 首先,我想说的最重要的一个点是,学习NIO思维一定要从BIO那种一个连接一个线程的模式转变成 ...
——日拱一卒,不期而至! 你好,我是彤哥,本篇是netty系列的第七篇。 简介 上一章我们一起学习了Java NIO的核心组件Buffer,它通常跟Channel一起使用,但是它们在网络IO中又该如何使用呢,今天我们将一起学习另一个NIO核心组件——Selector,没有它可以说就干 ...
你好,我是彤哥,本篇是netty系列的第三篇。 简介 上一章我们介绍了IO的五种模型,实际上Java只支持其中的三种,即BIO/NIO/AIO。 本文将介绍Java中这三种IO的进化史,并从使用的角度剖析它们背后的故事。 Java BIO BIO概念解析 BIO,Blocking ...
你好,我是彤哥,本篇是netty系列的第四篇。 欢迎来我的公从号彤哥读源码系统地学习源码&架构的知识。 简介 上一章我们一起学习了Java中的BIO/NIO/AIO的故事,本章将带着大家一起使用纯纯的NIO实现一个越聊越上瘾的“群聊系统”。 业务逻辑分析 首先,我们先来分析 ...
你好,我是彤哥,本篇是netty系列的第二篇。 简介 本文将介绍linux中的五种IO模型,同时也会介绍阻塞/非阻塞与同步/异步的区别。 何为IO模型 对于一次IO操作,数据会先拷贝到内核空间中,然后再从内核空间拷贝到用户空间中,所以一次read操作,会经历两个阶段: (1)等待数据 ...
你好,我是彤哥,本篇是netty系列的第一篇。 欢迎来我的公从号彤哥读源码系统地学习源码&架构的知识。 简介 本文主要讲述netty系列的整体规划,并调查一下大家喜欢的学习方式。 知识点 netty系列彤哥准备分成三个大的模块来完成: 入门篇 入门篇主要 ...
缓冲区分类 NIO中的buffer用于和通道交互,数据是从通道读入缓冲区,从缓冲区中写入通道的。Buffer就像一个数组,可以保存多个类型相同的数据。每种基本数据类型都有对应的Buffer类: 缓冲区的属性 1、capacity(容量):buffer本质是一个数组,在初始化时有固定 ...
;Java I/O系统学习系列一:File和RandomAccessFile>> &l ...