摘要:
netty 服务启动流程 NioServerSocketChannel 初始化过程: 1.创建 Java NIO的 ServerSocketChannel; 2.为ServerSocketChannel 注册感兴趣的键以及设置为非阻塞模式; 3.创建默认的 pipeline 以及unsafe 对象;
阅读全文
posted @ 2018-09-23 21:19
iscys
阅读(303)
推荐(0)
posted @ 2018-09-22 20:48
iscys
阅读(2)
推荐(0)
摘要:
在对java NIO selector 与 Buffer Channel 有一定的了解之后,我们进行编写java nio 实现的 客户端与服务端例子: 服务端: 客户端例子:
阅读全文
posted @ 2018-09-22 14:08
iscys
阅读(366)
推荐(0)
摘要:
decoder:解码--> 将文件内容转换为字符对象; encoder:编码-->将字符对象转换为字节或者字节数组; ASCII (American Standard for Information Tnterchange ) 使用7 bit 表示一个字符,共计表示128字符 ISO-8859-1
阅读全文
posted @ 2018-09-22 11:05
iscys
阅读(156)
推荐(0)
摘要:
传统的IO 编程中,针对每一个客户端连接都会创建一个新的线程; 而 NIO 一个线程可以处理很多客户端的请求 我们分析源码的注解,可以归纳出: 1. Selector 构造方式:(常见的Seletor 构造方式) 源码: * <p> A selector may be created by invo
阅读全文
posted @ 2018-09-19 00:45
iscys
阅读(212)
推荐(0)
摘要:
HeapBuffer 堆缓冲 :其实是在java 的内存模型中,java 虚拟机可以直接管控的 DirectBuffer 直接缓冲 :使用的是native ,与操作系统挂钩,调用的是c 或者c++ 的代码,不在java 的内存模型中,我们称为堆外内存,因为不属于java 内存模型,所以java 虚拟
阅读全文
posted @ 2018-09-17 23:17
iscys
阅读(204)
推荐(0)
摘要:
1.java.io 最为核心的概念是流(stream),面向流的编程,要么输入流要么输出流,二者不可兼具; 2.java.nio 中拥有3个核心概念: Selector Channel, Buffer ,在java nio 中我们面向的是块(block)或是缓冲区(buffer) 编程 ;Buffe
阅读全文
posted @ 2018-09-16 23:54
iscys
阅读(243)
推荐(0)
摘要:
io 体系回顾: 流的概念: java 程序 通过流来进行完成输入与输出的。流是生产或者消费信息的抽象,流通过java 的 输入/输出系统与物理设备相连,尽管与他们链接的物理设备不尽相同,所有流的行为具有相同的方式.这样,相同的输入输出类和方法适用于所有类型的外部设备,这意味着一个输入流能够抽象多种
阅读全文
posted @ 2018-09-16 16:42
iscys
阅读(198)
推荐(0)
摘要:
Netty 常用的场景: 1.充当HTTP 服务器,但Netty 并没有遵循servlet 的标准,反而实现了自己的一套标准进行Http 服务; 2,RPC 远程调用,在分布式系统中常用的框架 3.Socket 长连接 需要了解的名词 1.NioEventLoopGroup: 对线程的控制,线程组,
阅读全文
posted @ 2018-09-11 23:55
iscys
阅读(560)
推荐(0)
摘要:
文章来自于:https://www.cnblogs.com/onepixel/p/7092302.html http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html 1.网络通讯协议: TCP/IP:以其两个
阅读全文
posted @ 2018-09-10 22:20
iscys
阅读(587)
推荐(0)