1、NIO超级陷阱之所以说NIO超级陷阱,就是因为我在本系列开头的那句话,因为使用缺陷导致客户业务系统瘫痪。当然,我对这个问题进行了很深的追踪,包括对MINA源码的深入了解,但其实之所以会出现这个问题,它的根不是MINA的原因,而是JDK底层的问题...
分类:
其他好文 时间:
2014-09-15 08:48:08
阅读次数:
270
原文地址:http://ifeve.com/channels/声明:Java NIO系列教材并非本人原创,只因阅读原文之后有感于文章之精妙,意欲与诸位共享,故而出此下策,忘原作者见谅。另附上原文地址。Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通...
分类:
编程语言 时间:
2014-09-14 21:56:57
阅读次数:
253
原文地址:http://ifeve.com/overview/声明:Java NIO系列教材并非本人原创,只因阅读原文之后有感于文章之精妙,意欲与诸位共享,故而出此下策,忘原作者见谅。另附上原文地址。Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Jav...
分类:
编程语言 时间:
2014-09-14 21:53:07
阅读次数:
201
java中所有的通信都是socket我目前知道的java几种通信方式:1.socket+serverSocket通信。2.NIO 服务端与客户端使用的还是Socket。3.servlet :是由tomcat这种web容器解析的, 过程:tomcat的serverSocket接收到客户端的请求后根据....
分类:
编程语言 时间:
2014-09-14 17:56:07
阅读次数:
248
Netty是基于流的消息传递机制。Netty框架中,所有消息的传输都依赖于ByteBuf接口,ByteBuf是Netty NIO框架中的缓冲区。ByteBuf接口可以理解为一般的Byte数组,不过Netty对Byte进行了封装,增加了一些实用的方法。...
分类:
Web程序 时间:
2014-09-13 12:11:05
阅读次数:
421
前面关注的地方都是Netty采用的流水线处理方式的组织方式,ChannelHandler如何管理,通道状态,通道事件等这些上层的架构设计,那么Netty中如何实现诸如套接字绑定,连接,关闭等这些底层的操作呢?不能只顾着套用API写程序,却对细节不求甚解。这里大致追踪下OIO模式下Channel中套接字绑定的实现,(NIO以后分析)其实逻辑都是一样的,只是在线程模型的地方时不同的。
大致过程如下(...
分类:
Web程序 时间:
2014-09-12 17:10:13
阅读次数:
175
1.基本概念IO是主存和外部设备(硬盘、终端和网络等)拷贝数据的过程。IO是操作系统的底层功能实现,底层通过I/O指令进行完成。所有语言运行时系统提供执行I/O较高级别的工具。(c的printf scanf,java的面向对象封装)2.Java标准io回顾Java标准IO类库是io面向对象的一种抽象...
分类:
编程语言 时间:
2014-09-12 13:15:43
阅读次数:
266
package test;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.nio.ByteBuffer;import java.nio.channels.Channels;import j...
分类:
编程语言 时间:
2014-09-12 02:24:12
阅读次数:
234
Architecture of a Highly Scalable NIO-Based ServerSelectorsA selector (java.nio.channels.Selectorand subclasses) provides a mechanism for waiting on c...
分类:
其他好文 时间:
2014-09-12 01:08:13
阅读次数:
288
网站上传文件后,如果是图片,都要对文件进行处理,压缩、缩放之类的。 import java.nio.file.*;//如果是图片文件,则执行缩放处理
Path source = Paths.get(newFilePath);
String contentType = Files.probeContentType(source);
if (contentType.starts...
分类:
编程语言 时间:
2014-09-11 19:23:12
阅读次数:
159