《JAVA NIO》第二章缓冲区
1、缓冲区的构成
2、缓冲区的类图

3、ByteBuffer
ByteBuffer是直接和Channel打交道的,准确的是直接字节缓冲。
问题:直接字节缓冲区和内存映射的关系

4、ByteOrder
包含了当前CPU的ByteOrder
ByteBuffer能设置ByteOrder,其他的Buffer只能读取ByteOrder,不能设置
5、ByteBuffer的两个子类分别是MappedByteBuffer(abstract)和HeapByteBuffer(class,包访问路径)。MappedByteBuffer的实现类是DirectByteBuffer(class,包访问路径)
6、FileChannel,socketChannel,DataGramChannel都是abstract。实现是 sun.nio.ch.FileChannelImpl
6、ByteChannel可以产生各种视图的buffer,如CharBuffer,IntBuffer等。
ByteBuffer含有操作各种基本类型的方法
ByteBuffer和CharBuffer等类似,都有Direct和Heap的实现。
ByteBuffer和CharBuffer等也都是抽象类,其实现类智能通过静态方法获得。
7、大端还是小端?
默认是大端,和网络的传播一致,但是也可以改变。
《JAVA NIO》第二章缓冲区的更多相关文章
- Java NIO中的缓冲区Buffer(一)缓冲区基础
		什么是缓冲区(Buffer) 定义 简单地说就是一块存储区域,哈哈哈,可能太简单了,或者可以换种说法,从代码的角度来讲(可以查看JDK中Buffer.ByteBuffer.DoubleBuffer等的 ... 
- “全栈2019”Java多线程第二章:创建多线程之继承Thread类
		难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ... 
- “全栈2019”Java异常第二章:如何处理异常?
		难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ... 
- Java NIO —— Buffer(缓冲区)
		Buffer是一个抽象类,位于java.nio包中,主要用作缓冲区.注意:Buffer是非线程安全类. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO Buffer ... 
- Java NIO中的缓冲区Buffer(二)创建/复制缓冲区
		创建缓冲区的方式 主要有以下两种方式创建缓冲区: 1.调用allocate方法 2.调用wrap方法 我们将以charBuffer为例,阐述各个方法的含义: allocate方法创建缓冲区 调用all ... 
- Java NIO 之 Buffer(缓冲区)
		一 Buffer(缓冲区)介绍 Java NIO Buffers用于和NIO Channel交互. 我们从Channel中读取数据到buffers里,从Buffer把数据写入到Channels. Bu ... 
- Java NIO(2):缓冲区基础
		缓冲区(Buffer)对象是面向块的I/O的基础,也是NIO的核心对象之一.在NIO中每一次I/O操作都离不开Buffer,每一次的读和写都是针对Buffer操作的.Buffer在实现上本质是一个数组 ... 
- JAVA基础第二章-java三大特性:封装、继承、多态
		业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ... 
- 深入理解java虚拟机-第二章:java内存区域与内存泄露异常
		2.1概述: java将内存的管理(主要是回收工作),交由jvm管理,确实很省事,但是一点jvm因内存出现问题,排查起来将会很困难,为了能够成为独当一面的大牛呢,自然要了解vm是怎么去使用内存的. 2 ... 
随机推荐
- ubuntu下Vim配色方案Solarized的配置
			系统:ubuntu 12.04 LTS vim版本:7.4 ---------------------------------------------------------------------- ... 
- Redis错误配置详解
			在使用Redis做缓存时,应用往往能得到非常高的性能.然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制.复制超时等. Redis提供了许多提高和维护高效内存数据库使用的工具.在无需额 ... 
- 在dreamweaver中输入代码时不会有提示的解决办法
			输入法造成的. 解决办法:编辑>首选参数>常规>取消“允许双字节内联输入”. 
- Maya Shortcuts 常用快捷键
			快捷键 功能解释 工具操作 enter 完成当前操作 ~ 终止当前操作 insert 插入工具编辑模式 w 移动工具 e 旋转工具 r 缩放工具 y 非固定排布工具 shift+Q 选择工具,(切换到 ... 
- hdu 猜数字
			这题的意思是找到最大的n使得m次之内的猜测可以猜到1~n之间的任何值.这里是二分思想的逆过程,1~h个数最多猜测log2(n+1)次(n为奇数),故 n=2^m-1; #include"io ... 
- 《Lucene实战(第2版)》 配书代码在IDEA下的编译方法
			参考: hankcs http://www.hankcs.com/program/java/lucene-combat-2nd-edition-book-with-code-compiled-unde ... 
- MemPool
			腾讯笔试题,设计内存池,alloc和free都是O(1). 和LRUCache类似,这里用了一个list表示可用的空间,用一个map来记录这块内存是否已分配,这样free的时候才可能O(1). cla ... 
- Win7 桌面应用图标不见了
			taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a start explorer.ex ... 
- POJ 1386 Play on Words(欧拉图的判断)
			Play on Words Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11838 Accepted: 4048 De ... 
- Apache Spark源码走读之8 -- Spark on Yarn
			欢迎转载,转载请注明出处,徽沪一郎. 概要 Hadoop2中的Yarn是一个分布式计算资源的管理平台,由于其有极好的模型抽象,非常有可能成为分布式计算资源管理的事实标准.其主要职责将是分布式计算集群的 ... 
