- 博客(12)
- 资源 (7)
- 收藏
- 关注
转载 Java NIO类库Selector机制解析
http://wenku.baidu.com/view/c0ffd7fafab069dc50220194.htmlhttp://www.ibm.com/developerworks/cn/java/j-jtp0730/index.html#main
2012-12-31 18:16:27 684
转载 NIO buffer
ByteBuffer buffer = ByteBuffer.allocate(int);ByteBuffer buffer = ByteBuffer.allocateDirect(int);allocate返回的其实是ByteBuffer的子类HeapByteBuffer;allocateDirect返回的其实是MappedByteBuffer的子类DirectByteBuf
2012-12-26 21:26:46 1846
转载 NIO channel
channel 用于在 ByteBuffer 和socket(或文件)之间传输数据channel的实现经常使用操作系统的本地代码implement InterruptibleChannel 后标示该通道可以被中断,大多数channel都是可以被中断的面向字节的接口:ReadableByteChannel,WriteableByteChannelByteChannel接口继承
2012-12-26 21:26:23 1918
转载 NIO channel Socket通道
Socket通道类:DatagramChannel,SocketChannel,ServerSocketChannelDatagramChannel和SocketChannel实现了ReadableByteChannel 和 WritableByteChannel接口,而ServerSocketChannel没实现ServerSocketChannel只负责监听传入的连接,创建新的
2012-12-26 21:25:58 1373
转载 NIO Channel 管道
Unix中的管道pipe是用来连接一个进程的输出和另一个进程的输入java.nio中的管道只是在jvm进程内部传输数据,优势在于封装性这样就允许单个用户线程适用一个Selector从多个通道收集数据,并任意结合网络连接或本地工作线程适用pipe的另一个用处是测试,可以将某个测试类连接到管道的“写”端,并检查管道“读”端出来的数据
2012-12-26 21:25:36 865
转载 NIO Selector
单一的线程使用就绪选择来同时监控大量的通道处于就绪状态的通道就会等待Selector选择选择器提供了询问通道是否已经准备好执行每个IO操作的能力就绪选择的真正价值在于潜在的大量通道可以同时进行就绪状态的检查,Selector可以轻松决定选择哪个通道真正的就绪必须由操作系统来检查,操作系统处理IO请求并通知各个线程它们的数据已经已经准备好了,而选择器封装了这种抽象
2012-12-26 21:25:14 1097
转载 NIO trick and trap NIO的技巧与陷阱
IO划分为两个阶段:1 等待数据就绪2 从内核缓冲区copy到进程缓冲区(从socket通过socketChannel复制到ByteBuffer)non-direct ByteBuffer: HeapByteBuffer,创建开销小direct ByteBuffer:通过操作系统native代码,创建开销大基于block的传输通常比基
2012-12-26 21:24:48 2383
转载 IO三种方式:BIO,NIO,AIO (异步读写asynchronous IO)
jdk1.6及之前都只实现BIO 和 NIOjdk1.7开始支持AIO,即NIO 2.0在BIO阻塞模式下server端:1 new ServerSocket(int port) 监听端口2 serverSocket.accept() 阻塞式等待客户端的连接,有连接才返回Socket对象3 socket.getINputStream() 获取客户端发过来的信息流4
2012-12-26 21:23:52 9118 2
转载 JDK6内存泄露定位方法 - jmap
编写java程序最为方便的地方就是我们不需要管理内存的分配和释放,一切由jvm来进行处理,当java对象不再被应用时,等到堆内存不够用时,jvm会进行垃圾回收,清除这些对象占用的堆内存空间,如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从Heap中获取足够的内存分配给对象,这时候就会导致内存溢出。而出现内存泄露的地方,一般是不断的往容器中存放对象,而容器没有相应的大小限制或清除机
2012-12-25 10:52:47 1425
转载 Thread.sleep 四种标示方式
Thread.sleep(10000)Thread.sleep(TimeUnit.MILLISECONDS.convert(10, TimeUnit.SECONDS)Thread.sleep(TimeUnit.SECONDS.toMillis(10))TimeUnit.SECONDS.sleep(10)
2012-12-25 10:50:19 1151
转载 关于JAVA的protected类型
protected 的属性和方法可以在本包和子类访问 非同包的子类里面,不能直接使用父类,或者其它包的子类访问 例子:// Base.javapackage test.base; //创建包于文件夹下的文件夹base下public class Base{ int n[]=new int[10]; protected int testInt; //p
2012-12-13 20:59:06 1382
转载 理解protected
Java中的访问控制修饰符有四个级别,但属protected最复杂。如果问大家,protected修饰符作用,大家会说在子类与同包中可以访问这个成员,当然在自己类中也是可的,但你真的理解了吗? Java中的访问控制修饰符有四个级别,但属protected最复杂。如果问大家,protected修饰符作用,大家会说“在子类与同包中可以访问这个成员”,当然在自己类中也
2012-12-13 20:56:18 499
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人