NIO 源码分析(01) NIO 最简用法】的更多相关文章

目录 一.服务端 二.客户端 NIO 源码分析(01) NIO 最简用法 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Java NIO 主要由三个部分组成:Channel.Buffer 和 Selector.在分析源码前最好对 NIO 的基本用法和 Linux NIO 在一个基本的了解. NIO 入门 Linux NIO 本文会提供一个 NIO 最简使用示例,之后的源码分析都会基于该示例及其扩展进行. 一.服务端 p…
目录 一.BIO 最简使用姿势 二.connect 方法 2.1 Socket.connect 方法 2.2 AbstractPlainSocketImpl.connect 方法 2.3 DualStackPlainSocketImpl.socketConnect 方法 三.SocketInputStream 3.1 构造方法 3.2 read 方法 四.SocketInputStream NIO 源码分析(02-2) BIO 源码分析 Socket Netty 系列目录(https://www…
目录 一.BIO 最简使用姿势 二.ServerSocket 源码分析 2.1 相关类图 2.2 主要属性 2.3 构造函数 2.4 bind 方法 2.5 accept 方法 2.6 总结 NIO 源码分析(02-1) BIO 源码分析 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 一.BIO 最简使用姿势 (1) JDK BIO 启动服务典型场景 // 1. 绑定端口 ServerSocket serverSock…
目录 一.Channel 类图 二.begin 和 close 是什么 2.1 AbstractInterruptibleChannel 中的 begin 和 close 2.2 Selector 中的 begin 和 end 三.Channel 注册 3.1 AbstractSelectableChannel 与 Channel 注册相关属性 3.2 register 方法 3.3 SelectionKey.interestOps 事件注册 四.Channel.accept 五.Channel…
目录 一.SelectorProvider SPI 二.SelectorProvider 加载过程 2.1 SelectorProvider 加载 2.2 Windows 下 DefaultSelectorProvider 2.3 Unix 下 DefaultSelectorProvider NIO 源码分析(04) 从 SelectorProvider 看 JDK SPI 机制 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.ht…
目录 一.NIO 三大组件 Channels.Buffers.Selectors 1.1 Channel 和 Buffer 1.2 Selector 1.3 Linux IO 和 NIO 编程的区别 二.BIO 和 NIO 的区别 2.1 BIO 面向流,NIO 面向缓冲区. NIO 源码分析(03) 从 BIO 到 NIO Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) 一.NIO 三大组件 Channels.Buff…
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“-”,“_”等看到这个要求的时候,自然而然地想到了正则表达式.于是就有了下面的表达式(写的比较龊): ^([A-Za-z0-9._()&'\- ]|[aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆfFgGhHiIì…
SelectionKey SelectionKey,选择键,在每次通道注册到选择器上时都会创建一个SelectionKey储存在该选择器上,该SelectionKey保存了注册的通道.注册的选择器.通道事件类型操作符等信息. SelectionKey是一个抽象类,它有俩个实现类了AbstractSelectionKey(抽象类)和SelectionKeyImpl(最终实现类).SelectionKey有6个属性: //读操作符,左移位后的整型值为1 public static final int…
1.Session文档介绍 毋庸置疑学习.Net core最好的方法之一就是学习微软.Net core的官方文档:https://docs.microsoft.com/zh-cn/aspnet/core: .Net core Session的官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/app-state .Net core Session Github源码 https://github.com/aspnet/Ses…
一.什么是SPI SPI全称为Service Provider Interface,是一种服务发现机制,其本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件.这样可以在运行时,动态为该接口替换实现类. JDK提供了默认的SPI实现,但是Dubbo并未使用JDK提供的SPI,而是自己封装了一套.我们先来通过Dubbo官网给的两个例子简单了解下JDK和Dubbo的SPI是如何使用的. 1.1.JDK SPI示例 首先定义一个接口以及它的两个实现类 public interface…