Java-NIO之缓冲区

  通道缓冲区 是 NIO 中的核心对象。数据从通道读入缓冲区,然后从缓冲区写入到通道中缓冲区本质上是一块可以写入/读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。

缓冲区

  1. 缓冲区 (Buffer) 是一个对象, 它包含一些要写入或者刚读出的数据。在 NIO 库中,所有数据都是用缓冲区处理的在读取数据时,它是直接读到缓冲区中的。在写入数据时,它是写入到缓冲区中的。任何时候访问 NIO 中的数据,您都是将它放到缓冲区中。缓冲区实质上是一个数组,它提供了对数据的结构化访问,而且还可以跟踪系统的读/写进程

  2. 最常用的缓冲区类型是 ByteBuffer。一个 ByteBuffer 可以在其底层字节数组上进行 get/set 操作(即字节的获取和设置)。ByteBuffer 不是 NIO 中唯一的缓冲区类型。事实上,对于每一种基本 Java 类型都有一种缓冲区类型:

ByteBuffer
CharBuffer
ShortBuffer
IntBuffer
LongBuffer
FloatBuffer
DoubleBuffer

Java-NIO之概述

  新的输入/输出 (NIO) 库是在JDK1.4中引入的,弥补了原IO的不足,叫做非阻塞IO。本篇博客主要讲解IO与NIO的区别以及NIO的基本概念。

为什么使用NIO

  NIO的创建目的是为了实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。I/O 与 NIO 最重要的区别是数据打包和传输的方式, I/O 以流的方式处理数据,而 NIO 以块的方式处理数据。

  面向流 的 I/O 系统一次一个字节地处理数据。一个输入流产生一个字节的数据,一个输出流消费一个字节的数据。一个 面向块 的 I/O 系统以块的形式处理数据。每一个操作都在一步中产生或者消费一个数据块。按块处理数据比按(流式的)字节处理数据要快得多。

Hadoop-HDFS架构和Shell

  Hadoop分布式文件系统(HDFS),一个高度容错性的系统,适合部署在廉价的机器上。HDFS提供了高吞吐量的数据访问,适合大规模数据集的应用。HDFS采用master/slave架构HDFS集群是由一个NameNode和一定数目的DataNodes组成

HDFS架构和设计

Hadoop HDFS架构图

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器