自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zp_zhang的博客

但愿不会饿死在技术这条路上...

  • 博客(6)
  • 资源 (2)
  • 收藏
  • 关注

原创 AIO:简单代码示例

AIO目前使用并不多,只做代码示例...服务端代码package com.self.netty.aio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.AsynchronousChannelGroup;...

2020-01-03 17:38:22 405

原创 NIO(五):源码分析_Select部分

之前已经对register源码进行了分析,注册已经是NIO的核心代码,而Select部分更是重中之重 注册时注册Socket句柄到内存对象中 select()时构造多道线程取对应区间的Socket句柄,线程在处理过程中分为协调线程和工作线程,注意其中协调获取的关系 添加有效的Socket句柄到SelectionKey列表中,通过selectKeys()可以直接获取到,进行后续事件处理 ...

2020-01-03 17:36:05 213

原创 NIO(四):源码分析_Register部分

注册,就是将当前Channel注册到Selector上,是NIO源码的核心部分1,Channel.register()部分serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT):注册事件public final SelectionKey register(Selector sel, int ops, Object at...

2020-01-03 17:34:34 596

原创 NIO(三):源码分析_初始化部分

1,ServerSocketChannel初始化1.1,ServerSocketChannel serverSocketChannel = ServerSocketChannel.open()ServerSocketChannel.open()public static ServerSocketChannel open() throws IOException { // 先获取...

2020-01-03 17:33:53 402

原创 NIO(二):NIO三大核心概念

1,Buffer缓冲区缓冲区本质上就是一个可以读写数据的内存块,底层数据结构是数组,通过一组属性和方法来实现缓冲区数据的读、写及读写转换1.1,Buffer基本类体系结构对于Java基本数据类型,除过 Boolean 外,每一种基本类型的包装类,都存在一种 Buffer 缓冲区与之对应 对于Java对象,可以转换为 Byte 字节,通过 ByteBuffer 进行数据传递 每一种...

2020-01-03 17:30:19 609

原创 NIO(一):从一个简单的NIO示例开始

1,NIO和BIO比较 BIO以流的方法处理数据,而NIO以块的方式处理数据;效率提升很多 BIO是阻塞的,NIO是非阻塞的 BIO基于字节流和字符流进行操作,NIO基于Buffer缓冲区和Channel通道进行操作,基于Selector选择器监听通道中的时间,可以使用单线程监听多个通道数据 2,NIO三大核心概念缓冲区(Buffer) 通道(Channel...

2020-01-03 17:29:19 187

Java数据结构学习笔记

Java数据结构学习笔记

2020-12-18

Java设计模式学习笔记

Java设计模式学习笔记

2020-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除