码迷,mamicode.com
首页 >  
搜索关键字:nio filechannel filechannel    ( 3607个结果
java的FileChannel使用方法。
package com.test.nio; import java.io.FileNotFoundException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; public class TestFile { /** * @para...
分类:编程语言   时间:2014-09-24 00:20:45    阅读次数:365
Netty5源码分析(八) -- 总结
这个系列通过七篇文章,结合Netty5的原代码 1. 分析了服务器绑定端口的过程,从整体上可以看到Netty执行的流程和主要组件 2. 分析了Netty的线程模型,解析了Reactor模式。很多人都不理解这块,被EventLoop的名称和复杂的类层次所迷惑 3. 通过比较使用Java原生的NIO API来编程的流程,再分析了Netty是如何把这些基本流程封装地,进一步地理清了Netty的封装...
分类:Web程序   时间:2014-09-23 12:28:14    阅读次数:226
开源一个基于nio的java网络程序
因为最近要从公司离职,害怕用nio写的网络程序没有人能看懂(或许是因为写的不好吧),就调整成了mina(这样大家接触起来非常方便,即使没有socket基础,用起来也不难),所以之前基于nio写的网络程序就开放出来好了! 写的比较挫,大家见谅! 首先是PollServer类,主要处理select,做....
分类:编程语言   时间:2014-09-23 02:30:43    阅读次数:357
Netty5源码分析(五) -- ByteBuf缓冲区
Netty的ByteBuf缓冲区实现地比Java本身的ByteBuffer更加灵活,方便。它的类结构也比较复杂,这里只说ByteBuf核心的几个要点。 1. 最重要的是要理解为什么要ByteBuf这个组件。主要还是因为基于select / poll / epoll这种IO多路复用技术的NIO是非阻塞同步IO的模型,由于是同步IO,需要用户线程自己来处理IO的读写,由于是非阻塞的,每次调用...
分类:Web程序   时间:2014-09-22 19:06:32    阅读次数:626
Java NIO系列教程(四) Scatter/Gather
原文地址:http://ifeve.com/java-nio-scattergather/Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。 分散(scatte...
分类:编程语言   时间:2014-09-21 23:38:41    阅读次数:320
Java NIO系列教程(三) Buffer
原文链接:http://ifeve.com/buffers/声明:Java NIO系列教材并非本人原创,只因阅读原文之后有感于文章之精妙,意欲与诸位共享,故而出此下策,忘原作者见谅。另附上原文地址。Java NIO的通道类似流,但又有些不同:Java NIO中的Buffer用于和NIO通道进行交互。...
分类:编程语言   时间:2014-09-21 23:26:31    阅读次数:372
Effective Java Item7:Avoid Finalizers,解释为什么finalize是不安全的,不建议使用
在讨论如何回收堆外内存的时候,提到“NIO中direct memory的释放并不是通过finalize(),因为finalize不安全而且影响能”。Effective Java一书中也提到:Avoid Finalizers。人都有潜在的叛逆意识,别人给的结论或者制定的规范,除非有足够的理由说服你,除非懂得这么做背后的原因,否则只能是死记硬背,没有形象深入的理解,不能学到真正的东西。本文通过自己的理解和一些实际的例子,和大家一起更形象的理解finalize。还是那句经典的话“talking is cheap,...
分类:编程语言   时间:2014-09-21 18:46:11    阅读次数:322
Mina的各个组件功能
Mina的各个组件功能:(1.) IoService:这个接口在一个线程上负责套接字的建立,拥有自己的Selector,监听是否有连接被建立。(Mina底层使用JAVA NIO, 因此它是典型的使用Reactor模式架构的,采用事件驱动编程 , Mina运行用户自定义线程模型,可以是单线程、多线程、...
分类:其他好文   时间:2014-09-20 15:31:38    阅读次数:130
Netty3 源码分析 - NIO server接受连接请求过程分析
Netty3 源码分析 - NIO server接受连接请求过程分析      当服务器端的server Channel绑定某个端口之后,就可以处理来自客户端的连接请求,而且在构建 NioServerSocketChannelFactory 的时候已经生成了对应的 BossPool 和 WorkerPool,前者管理的 NioServerBoss 就是专门用来接受客户端连接的Sele...
分类:Web程序   时间:2014-09-19 17:46:06    阅读次数:306
Mina、Netty、Twisted一起学(七):发布/订阅(Publish/Subscribe)
消息传递有很多种方式,请求/响应(Request/Reply)是最常用的。在前面的博文的例子中,很多都是采用请求/响应的方式,当服务器接收到消息后,会立即write回写一条消息到客户端。HTTP协议也是基于请求/响应的方式。但是请求/响应并不能满足所有的消息传递的需求,有些需求可能需要服务端主动推送消息到客户端,而不是被动的等待请求后再给出响应。发布/订阅(Publish/Subscribe)是一...
分类:Web程序   时间:2014-09-19 13:50:45    阅读次数:203
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!