代码改变世界

随笔分类 -  java nio

epoll 或者 kqueue 的原理是什么?

2015-10-16 17:54 by Loull, 444 阅读, 收藏, 编辑
摘要: 来自知乎:http://www.zhihu.com/question/20122137epoll 或者 kqueue 的原理是什么?为什么epoll和kqueue可以用基于事件的方式,单线程的实现并发?我没看过linux内核,对这方面一直有疑问……可能我没有说太明白,我知道您说的这些,我是想了解底层... 阅读全文

Java socket中关闭IO流后,发生什么事?(以关闭输出流为例)

2014-08-31 15:56 by Loull, 6644 阅读, 收藏, 编辑
摘要: 声明:该博文以socket中,关闭输出流为例进行说明。为了方便讲解,我们把DataOutputstream dout = new DataOutputStream(new BufferedOutputStream(mySocket.getOutputStream()));中的dout做为Socket... 阅读全文

Java Socket常见异常处理 和 网络编程需要注意的问题

2014-08-31 15:48 by Loull, 3656 阅读, 收藏, 编辑
摘要: 在java网络编程Socket通信中,通常会遇到以下异常情况: 第1个异常是 java.net.BindException:Address already in use: JVM_Bind。 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整... 阅读全文

Java NIO 读数据处理过程

2014-08-31 15:45 by Loull, 3382 阅读, 收藏, 编辑
摘要: 这两天仿hadoop 写java RPC框架,使用PB作为序列号工具,在写读数据的时候遇到一个小坑。之前写过NIO代码,恰好是错误的代码产生正确的逻辑,误以为自己写对了。现在简单整理一下。使用NIO,select()到读事件时,要处理4种情况:1. channel还有数据,继续读。2. channe... 阅读全文

Java nio 笔记:系统IO、缓冲区、流IO、socket通道

2014-05-30 17:10 by Loull, 3061 阅读, 收藏, 编辑
摘要: 一、Java IO 和 系统 IO 不匹配 在大多数情况下,Java 应用程序并非真的受着 I/O 的束缚。操作系统并非不能快速传送数据,让 Java 有事可做;相反,是 JVM 自身在 I/O 方面效率欠佳。操作系统与 Java 基于流的 I/O模型有些不匹配。操作系统要移动的是大块数据(缓冲区... 阅读全文

Java-NIO-Selector

2014-05-29 01:06 by Loull, 929 阅读, 收藏, 编辑
摘要: 扩展阅读:Java NIO类库Selector机制解析(上)Java NIO类库Selector机制解析(下)Java NIO的选择器三个重要的类:1,Selector 选择器,完成主要的选择功能。select(), 并保存有注册到他上面的通道集合。2,SelectableChannel 可被注册到... 阅读全文

Java NIO学习(一)

2014-05-21 14:04 by Loull, 298 阅读, 收藏, 编辑
摘要: Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具... 阅读全文

五种I/O 模式,select、epoll方法的理解,BIO、NIO、AIO理解 相关文章

2014-05-20 19:44 by Loull, 3789 阅读, 收藏, 编辑
摘要: 一、io方式Linux网络编程 五种I/O 模式及select、epoll方法的理解web优化必须了解的原理之I/o的五种模型和web的三种工作模式五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O二、java nioJa... 阅读全文

Java NIO 开篇

2014-05-20 13:04 by Loull, 341 阅读, 收藏, 编辑
摘要: 一些很好的blog(待更新):1、NIO入门2、NIO.2 入门,第 1 部分: 异步通道 APII- 就是从硬盘到内存O- 就是从内存到硬盘一、阻塞IO第一种方式:我从硬盘读取数据,然后程序一直等,数据读完后,继续操作。这种方式是最简单的,叫阻塞IO。第二种方式:我从硬盘读取数据,然后程序继续向下... 阅读全文
点击右上角即可分享
微信分享提示