简单介绍NIO的作用就是改进程序的性能。由于有时候程序的性能瓶颈不再是CPU,而是IO。这时候NIO就派上用场了。NIO的原理就是尽量利用系统底层的资源来提高效率,比方利用DMA硬件减小CPU负荷,利用操作系统的epoll机制避免线程频繁切换。通过底层资源提高系统的吞吐量。缓冲区缓冲区就是一个固定大...
分类:
编程语言 时间:
2014-10-07 19:00:33
阅读次数:
239
之前负责过一个智能家居项目的开发,外包重庆一家公司的,我们主要开发服务器监控和集群版管理。
移动端和机顶盒的远程通信是用中间服务器完成交互,服务器使用MINA NIO框架,非阻塞式的,可以看看以前博客了解下某智能家居项目框架学习总结,或者其他资料JAVA NIO原理,基于MINA框架快速开发网络应用程序。...
分类:
Web程序 时间:
2014-10-04 00:12:15
阅读次数:
413
前面分析完2个主要的包类,现在我们来揭开Java.nio的最后块神秘的知识点,Charset编码类,他的功能主要是实现字节与Unicode之间的转码转换。同样先来看看他的包结构。,结构比较单一和简单。
里面一个最最主要的类就是Charset类,看看里面有哪些变量
他的构造函数为
Charset类中也有缓存字节本身的类型
我们来看看他最主要的一个功能encod...
分类:
编程语言 时间:
2014-10-03 15:37:34
阅读次数:
246
导读J2SE1.4以上版本号中公布了全新的I/O类库。本文将通过一些实例来简介NIO库提供的一些新特性:非堵塞I/O,字符转换,缓冲以及通道。一. 介绍NIONIO包(java.nio.*)引入了四个关键的抽象数据类型,它们共同解决传统的I/O类中的一些问题。1. Buffer:它是包括数据且用于读...
分类:
编程语言 时间:
2014-10-02 22:09:03
阅读次数:
266
导读J2SE1.4以上版本号中公布了全新的I/O类库。本文将通过一些实例来简介NIO库提供的一些新特性:非堵塞I/O,字符转换,缓冲以及通道。一. 介绍NIONIO包(java.nio.*)引入了四个关键的抽象数据类型,它们共同解决传统的I/O类中的一些问题。1. Buffer:它是包括数据且用于读...
分类:
编程语言 时间:
2014-10-01 12:15:11
阅读次数:
275
当学习了Java NIO和IO的API后,一个问题立即涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们怎样影响您的代码设计。Java NIO和IO的主要差别下表总结了Java NIO和IO之间的主要区别,我会更具体地描...
分类:
编程语言 时间:
2014-09-28 18:04:34
阅读次数:
191
java从jdk1.4后就引入了java NIO机制: NIO的显著特点就是通道(channel)、缓冲(buffer)、选择器(selector),NIO机制中添加了传统I/O机制中没有的非阻塞调用(这对于网络通信很有用,可以有效利用CPU),但是这个只能对于网络通道(Socketchannel)...
分类:
编程语言 时间:
2014-09-26 20:05:18
阅读次数:
346
使用java的NIO来构造http请求体,并且取得响应内容。
package com.test.nio;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
public c...
分类:
编程语言 时间:
2014-09-26 13:22:58
阅读次数:
234
Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API。 Apache MINA 也称为: ● NIO 框架库 ● 客户端服务器框架库 ● 一个...
分类:
移动开发 时间:
2014-09-25 21:01:27
阅读次数:
326
Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。
服务器端代码
package com.test.nio;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteB...
分类:
编程语言 时间:
2014-09-25 18:18:07
阅读次数:
199