IO
君莫笑(๑˙ー˙๑)
欢迎互关,一起学习,共同进步
展开
-
基于 SpringBoot 手写 RPC 框架
目录文件目录Messageconsumer@EnableRpcConsumer@ReferenceReferenceInvokeProxyRpcHandlerprovider@EnableRpcProvider@ServiceBeanMethodInitialMediatorMediatorServiceHandlerSocketServerInitial示例consumer启动类配置文件TestControllerprovider启动类配置文件ExampleServiceImpl结果文件目录Mess原创 2020-06-20 11:46:48 · 1822 阅读 · 0 评论 -
面试题:NIO/Netty 中的零拷贝体现在哪里?
目录DirectByteBuffer 与 HeapByteBuffer 的关系面试题:NIO 的零拷贝体现在哪里?关于 Java 里的 IO 这一块,相关代码大量调用了 JNI(Java Native Interface),JNI 是由 c/c++ 写的。而这些底层语言关于 IO 这一块,调用的是“系统调用”,“系统调用”是系统提供的接口。DirectByteBuffer 与 HeapByteBuffer 的关系我们创建一个 DirectByteBuffer:类 ByteBufferpublic原创 2020-06-06 08:54:39 · 605 阅读 · 0 评论 -
后端开发工程师必须知道的Linux 网络IO模型
Linux网络IO模型同步和异步,阻塞和非阻塞五种I/O模型阻塞I/O模型非阻塞IO模型IO复用模型信号驱动IO(了解)异步IO模型(了解)五个I/O模型的比较select、poll、epoll的区别同步和异步,阻塞和非阻塞同步和异步请求方是否需要等待结果返回。同步:请求方需要主动等待结果的返回异步:不需要主动等待结果的返回,而是通过其他手段比如,状态通知,回调函数等。阻塞和非阻塞...原创 2019-08-24 11:01:44 · 375 阅读 · 0 评论 -
NIO基础(二)之Channel
Channel简介概述形象的描述NIO Channel 对比 IO StreamChannel 的实现概述在 Java NIO 中,基本上所有的 IO 操作都是从 Channel 开始。程序可以通过 Channel 读取文件中的内容并写到 Buffer 中(对于 Channel 来说是调用 read(),对于 Buffer 来说是写过程),也可以通过 Channel 读取 Buffer 中的内...原创 2019-07-25 19:28:58 · 302 阅读 · 0 评论 -
NIO基础(一)之Buffer
NIO基础(一)之BufferBuffer 简介一个小示例源码解析Buffer 简介一个 Buffer ,本质上是内存中的一块,我们可以将数据写入这块内存,之后从这块内存获取数据。通过将这块内存封装成 NIO Buffer 对象,并提供了一组常用的方法,方便我们对该块内存的读写。Buffer 在 java.nio 包中实现,被定义成抽象类,从而实现一组常用的方法。整体类图如下:一个小示例...原创 2019-07-25 15:35:36 · 377 阅读 · 0 评论 -
什么是BIO?NIO?AIO?各种IO了解一下(基于网络编程)
BIO/NIO/AIO关于IO的一些基本概念BIO是什么?概念原理小结NIO 是什么?概念原理小结AIO 是什么?概念原理小结总结BIO/NIO的区别三者比较关于IO的一些基本概念在Unix IO 模型的语境下:阻塞和非阻塞操作:发起 IO 请求操作后,是否有立刻返回一个标志信息而不让请求线程等待。同步和异步的区别:数据拷贝阶段是否需要完全由操作系统处理。在这里的轮询的概念:由服...原创 2019-07-18 22:38:35 · 651 阅读 · 0 评论 -
Java I/O系统知识归纳
Java I/O系统流类流的概念输入/输出流的概念输入流输出流流的分类输入/输出类InputStream的类层次OutputStream的类层次I/O流的链接Reader的类层次Writer的类层次流类流的概念Java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过Java的输入/输出系统与物理设备连接。尽管与它们连接的物理设备多式多样,但流的行为方式相同。这样,我们在使用流的时...原创 2019-07-18 15:12:28 · 203 阅读 · 0 评论 -
NIO基础(三)之Selector
NIO基础(三)之Selector概述创建 Selector注册 Chanel 到 Selector 中SelectionKey类概述Selector , 选择器,也被称为多路复用器、轮询代理器等。它是 Java NIO 核心组件中的一个,用于轮询一个或多个Channel 的状态(连接完成、接收连接、可读、可写)。如此,一个线程就可以管理多个 Channel 。那么 Selector 是如何...原创 2019-08-25 14:56:35 · 302 阅读 · 0 评论 -
NIO通信示例
public class Const { public static int DEFAULT_PORT = 12345; public static String DEFAULT_SERVER_IP = "127.0.0.1"; public static String response(String msg){ return "Hello,"+msg+"...原创 2019-08-28 14:56:04 · 347 阅读 · 0 评论