java NIO系列
文章平均质量分 95
男孩NoBad
这个作者很懒,什么都没留下…
展开
-
Linux IO体系、零拷贝和虚拟内存关系的重新思考
经常看到网上的文章讲IO体系和零拷贝的时候前面大篇幅在讲虚拟存储和虚拟内存的事情,所以看这些文章感觉有点重点抓不住,要点不突出,关系连不起来,今天我根据自己的理解,重新梳理下这三者的关系: 讲IO和零拷贝的时候讲到虚拟内存是因为涉及到用户进程在用户态和内核态的转换,离开进程谈虚拟内存就没任何意义。 IO体系和零拷贝是有有关系,但是跟虚拟内存没有直接关系。 我们先看虚拟内存到底解决什么问题? 虚拟内存是计算机系统内存管理的一种技术。 它使得应用程序认为它拥有连续的可用的内存(一个连续完整的原创 2021-03-06 21:54:31 · 684 阅读 · 0 评论 -
DirectBuffer及内存泄漏
创建Buffer对象时,可以选择从JVM堆中分配内存,也可以OS本地内存中分配,由于本地缓冲区避免了缓冲区复制,在性能上相对堆缓冲区有一定优势,但同时也存在一些弊端。 两种缓冲区对应的API如下: JVM堆缓冲区:ByteBuffer.allocate(size)本地缓冲区:ByteBuffer.allocateDirect(size) 从堆中分配的缓冲区为普通的Java对象,生命周期与转载 2013-07-19 16:34:58 · 826 阅读 · 0 评论 -
java的DirectBuffer源码分析(主要是DirectBuffer的资源分配和回收)
可以看到淘宝的一个说明:http://www.tbdata.org/archives/801 Java 2 SE 6 doc : Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. T转载 2013-07-19 16:39:23 · 822 阅读 · 0 评论