import java.nio.IntBuffer;public class TestBuffer {public static void main(String[] args) {// 1 基本操作//创建指定长度的缓冲区/*IntBuffer buf = IntBuffer.allocate(10);buf.put(13);// position位置:0 - > 1buf.put(21);// position位置:1 - > 2buf.put(35);// position位置:2 - > 3//把位置复位为0,也就是position位置:3 - > 0buf.flip();System.out.println("使用flip复位:" + buf);System.out.println("容量为: " + buf.capacity());  //容量一旦初始化后不允许改变(warp方法包裹数组除外)System.out.println("限制为: " + buf.limit());        //由于只装载了三个元素,所以可读取或者操作的元素为3 则limit=3System.out.println("获取下标为1的元素:" + buf.get(1));System.out.println("get(index)方法,position位置不改变:" + buf);buf.put(1, 4);System.out.println("put(index, change)方法,position位置不变:" + buf);;for (int i = 0; i < buf.limit(); i++) {//调用get方法会使其缓冲区位置(position)向后递增一位System.out.print(buf.get() + "\t");}System.out.println("buf对象遍历之后为: " + buf);*/// 2 wrap方法使用//  wrap方法会包裹一个数组: 一般这种用法不会先初始化缓存对象的长度,因为没有意义,最后还会被wrap所包裹的数组覆盖掉。 //  并且wrap方法修改缓冲区对象的时候,数组本身也会跟着发生变化。                     /*int[] arr = new int[]{1,2,5};IntBuffer buf1 = IntBuffer.wrap(arr);System.out.println(buf1);IntBuffer buf2 = IntBuffer.wrap(arr, 0 , 2);//这样使用表示容量为数组arr的长度,但是可操作的元素只有实际进入缓存区的元素长度System.out.println(buf2);*/// 3 其他方法IntBuffer buf1 = IntBuffer.allocate(10);int[] arr = new int[]{1,2,5};buf1.put(arr);System.out.println(buf1);//一种复制方法IntBuffer buf3 = buf1.duplicate();System.out.println(buf3);//设置buf1的位置属性//buf1.position(0);buf1.flip();System.out.println(buf1);System.out.println("可读数据为:" + buf1.remaining());int[] arr2 = new int[buf1.remaining()];//将缓冲区数据放入arr2数组中去buf1.get(arr2);for(int i : arr2){System.out.print(Integer.toString(i) + ",");}}
}

SocketIO-nio相关推荐

  1. 实时通信 socketio nio 总结

    公司要求多一个实时通信的功能 解决思路如下 架构图: 后台管理页面实时显示在线的终端情况 终端服务器和后台服务器之间用NIO通信 当有终端登录登出,后台管理服务器(服务端)接收终端服务器(客户端) 接 ...

  2. Netty序章之BIO NIO AIO演变

    Netty序章之BIO NIO AIO演变 Netty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能.高可靠的网络服务器和客户端程序.Netty简化了网络程序的开发,是很多框架和公司都在使用 ...

  3. socketio mysql_socket.io 在java与微信小程序上的应用

    最近有一个这样的功能场景.用户操作完成后.服务器主动通知另一个客户端显示结果. 这里涉及一个服务器推的这么一个东西.需要实现这么一个功能,对比了几个实现方式.最终选择了socket.io. 1.com ...

  4. 从Linux角度以及JVM源码,深入NIO的细节

    原文地址:[网络编程]从Linux角度以及JVM源码,深入NIO的细节 最近一段时间都在啃Linux内核, 也给了自己机会再度深入理解Java的NIO实现,希望能获得更多东西,尝试理解以前未能理解的, ...

  5. java NIO详解

    http://zalezone.cn/2014/09/17/NIO%E7%B2%BE%E7%B2%B9/ 1. 前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO ...

  6. Nio得知3——该示范基地:多路复用器模式

    Reactor模式和NIO 本文可以看作是Doug Lea Scalable IO in Java一文的翻译. 当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socke ...

  7. java nio设计模式_Java NIO:浅析I/O模型

    也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗.在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型.下面本文先从同步和异步的概念 说起, ...

  8. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍

    本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...

  9. nio的优势_NIO研究所 | 最有AI的EC6故事

    随着EC6的交付开启,在大定盲盒活动中抽到"飞行嘉宾"交付的用户,也陆续和他们的专属"交付专员"见面了,先分享一波有爱的EC6提车现场? << 左右 ...

  10. java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

    http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果 ...

最新文章

  1. 全局性业务架构建模工作步骤
  2. php中的extract函数
  3. git学习——四git版本管理
  4. Ubuntu瘦身与扩容运动
  5. Android的十六进制颜色值
  6. python https协议和InsecurePlatformWarning问题
  7. ROS学习笔记六:理解ROS服务和参数
  8. Python查找列表中相加等于s的n个数字(combinations的使用)
  9. shell脚本导出oracle数据库,Shell脚本备份恢复Oracle数据库简单示例
  10. 斥资2.5亿美元,英特尔也开始玩车了
  11. iOS-屏幕适配-UI布局
  12. 快速搭建博客:美化主题
  13. 复杂的拉普拉斯逆变换
  14. 微信扫一扫下载apk的实现方式 微信跳转浏览器代码
  15. 再见2021,2022加油
  16. 电脑文件误删除怎么恢复?
  17. 考研数据结构之队列(3.3)——练习题之设以数组Q.elems[maxSize]存储循环队列的元素,同时以Q.rear和Q.length分别指示循环队列中的队尾位置和队列中所含元素的个数(C表示)
  18. javamail解析邮件,内容重复
  19. C语言基础——执行顺序
  20. 使用电信云时做对象储存时的异常信息:com.amazonaws.services.s3.model.AmazonS3Exception

热门文章

  1. Java多线程与并发控制
  2. Java中的容器类List、Set、Map的对比
  3. Python笔记(3)
  4. IT Monitor
  5. 通向架构师的道路(第二天)之apache tomcat https应用
  6. 【JDK源码】java.util.concurrent.atomic包常用类详解
  7. jenkins简单部署
  8. HTTP Content-Type类型
  9. Docker介绍与安装使用(一)
  10. java HashMap实现原理