本月博客排行
-
第1名
龙儿筝 -
第2名
wy_19921005 -
第3名
zysnba - sgqt
- johnsmith9th
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- e_e
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- xyuma
- sichunli_030
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- zhanjia
- forestqqqq
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- johnsmith9th
- daizj
- 喧嚣求静
- mwhgJava
- silverend
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
- jveqi
- java-007
- sunj
最新文章列表
Java NIO 之 Buffers
你可以把ByteBuffer看着是一段连续内存(实际却不一定),或Byte的数组。Buffer类则提供了很多方法去访问/设置元素。而基于之上的CharBuffer,IntBuffer等则是是数据类型的抽象。
1. Buffer 类图
2. 主要属性
Capacity,能容纳的最多元素个数,构造时固定的;
Limit,读写元素的边界,可修改;
Position,当前读写位置, ...
IO和NIO的区别
今天来学习一下io和nio的区别,
1.io是传统的io,即阻塞的io,使用在及时性比较高的场合,如服务端与客户端之间的通讯
2.nio是jdk1.5后出来的新io方式,它是无阻塞的,主要用来及时性不高的场合,如服务端与服务端之间的通讯,nio为什么无阻塞,有几个重要的概念:buffer,selector,chanel,charset
等,buffer:主要是用来缓存
MINA,xSocket同样的性能缺陷及陷阱
MINA,xSocket同样的性能缺陷及陷阱,Grizzly better
MINA,Grizzly[grizzly-nio-framework],xSocket都是基于 java nio的 server framework.
这里的性能缺陷的焦点是指当一条channel上的SelectionKey.OP_READ ready时,
1.是由select thread读完数据之后再分发给应用程序的h ...
netty的timeout
客户端
package com.mchz.netty.test.client;
import java.net.InetSocketAddress;
import java.util.concurrent.Executors;
import org.jboss.netty.bootstrap.ClientBootstrap;
import org.jboss.netty ...
NIO与I/O的区别
NIO与原有的I/O有同样的作用和目的,是基于原有的I/O的改进和扩展。NIO与原有的I/O不同,他是基于特殊的缓冲块进行的搞笑I/O操作。NIO的缓冲区块与普通的缓冲区不同,他是一块连续的空间,他的内存的分配不再java的
堆栈中,不受java内存的回收的影响;他的实现不是纯java代码,而是本地代码,这样操作系统,可以直接与缓冲区进行交互,java程序只需要完成对缓冲区的读写,而后续操作由操作 ...
NIO中缓冲区的API介绍
[转载请注明作者和出处, 如有谬误, 欢迎在评论中指正. ]
在java NIO中, 通道是IO传输发生时数据通过的入口, 而缓冲区是数据的来源或目标.
Buffer是java NIO中定义的所有缓冲区类的基类.
Buffer的属性
1. 容量(capacity)
缓冲区能够容纳的数据元素的最大数量, capacity在创建缓冲区时指定, 之后无法改变.
2. 上界(limit ...
线程池、tomcat NIO环境下的ThreadLocal
在线程池环境下使用ThreadLocal与内存池露
线程池会保留一部分空闲线程仍然存活。如果处理ThreadLocal变量的线程是由线程池维护的,在某些情况下(例如ThreadLocal<T>的T是个大对象),有必要使用ThreadLocal.remove()手工清除ThreadLocal中的内容以释放其占用的内存空间。
Tomcat6使用NIO后对ThreadLocal的影响 ...
Apache Mina简单实例
一.简介
MINA是一个网络应用框架,也可被称之为NIO框架库、客户端/服务器框架库、网络套接字 (socket)库,可以帮助用户开发高性能和高可扩展性的网络应用程序,支持(TCP/IP、UDP/IP协议)等。
二.工作流程
MINA处于中间层,它不关心数据是如何在底层网络进行传输,只负责接受底层数据,将数据通过过滤器过滤并装换成JAVA对象,供应用程序使用,然后在应用程序对数据做过业务处理之 ...
SocketChannel 例子2
Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们。
在服务端我们可以使用非阻塞的方式。 下面是一段server端的程序。 client 可以采用阻塞方式来请求。
NIO
有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我 ...
NIO - Channel Foundation
首先,我们来更近距离地看一下基本的 Channel 接口。Channel 接口的完整源码:
package java.nio.channels;
public interface Channel {
public boolean isOpe ...
Java NIO连接socket
NIO连接socket
一个是服务器端,一个是客户端,都是用NIO连接的,代码如下
package testnio;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector; ...