1.如何分配,分配是哪里的内存 ByteBuffer.allocateDirect()来分配(ByteBuffer.allocate()分配堆内内存),分配的是非Heap(堆外)的内存,不排除操作系统可能把directBuffer交换到磁盘。 DirectBuffer 大体原理就是使用 Java H ...
分类:
其他好文 时间:
2016-11-22 20:12:40
阅读次数:
205
1、java二进制编解码 byteBuffer.flip() byteBuffer.getInt() 与 byteBuf.getInt(11) 2、粘包拆包问题 3、netty客户端与其他服务器交互 4、中文字节 中文字符占两个字节,注意获取数据长度要将字符getBytes()后 5、javaBea ...
分类:
Web程序 时间:
2016-11-04 21:07:04
阅读次数:
514
大文件不使用fileinputstream,而是使用filechannel 使用bytebuffer来处理,速度效率高。 ...
分类:
编程语言 时间:
2016-10-24 14:05:17
阅读次数:
281
NIO简单来讲就是new IO,核心是一个接口两个抽象类,interface Channel、abstract class Buffer、abstract class Charset 。 1.Buffer最常用的两个子类是ByteBuffer、charBuffer。Buffer中有三个重要的概念:c ...
分类:
其他好文 时间:
2016-10-22 21:04:00
阅读次数:
291
而一个NIO的实现会有所不同,下面是一个简单的例子: Java代码 ByteBuffer buffer = ByteBuffer.allocate(48); int bytesRead = inChannel.read(buffer); Java代码 Java代码 注意第二行,从通道读取字节到Byt ...
分类:
其他好文 时间:
2016-10-19 02:04:47
阅读次数:
118
java堆外内存 (直接内存 非托管内存) 堆外内存的好处是: 例如NIO为了高效,提供了ByteBuffer ps:进程间通信的方法除了管道,信号,套接字等常规方法,共享内存,读写文件也可以实现进程间的通信。 http://www.importnew.com/14292.html ...
分类:
编程语言 时间:
2016-10-01 22:03:12
阅读次数:
205
java.io.ByteArrayOutputStream: java.io.ByteArrayOutputStream, java.nio.ByteBuffer: why you should not use ByteArrayOutputStream in the performance cri ...
分类:
编程语言 时间:
2016-09-30 01:18:59
阅读次数:
287
由于HeapByteBuffer和DirectByteBuffer类都是default类型的,所以你无法字节访问到,你只能通过ByteBuffer间接访问到它,因为JVM不想让你访问到它。 分配HeapByteBuffer的方法是: ByteBuffer.allocate(int capacity) ...
分类:
其他好文 时间:
2016-09-21 10:13:15
阅读次数:
99
服务端写完了,现在写一个客户端,对于客户端,我考虑使用nio或阻塞socket都可以。 使用nio的客户端: 读取数据方式和服务端一样,就不写了。 下面是阻塞socket方式: 客户端在连接时,是继承Thread的,调用时记得start()。 虽然第二个实例没有使用nio,但使用bytebuffer ...
分类:
编程语言 时间:
2016-09-13 07:57:44
阅读次数:
172
缓存区是java nio的核心部分,所以必须熟悉它的一些操作。 实现类型: nio中实现了除布尔型(boolean)外的其他7种基本数据类型的buffer(ByteBuffer,CharBuffer,DoubleBuffer,FloatBuffer,IntBuffer,LongBuffer,Shor ...
分类:
其他好文 时间:
2016-08-28 18:00:30
阅读次数:
346