自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhu's 专栏

积累点滴收获

  • 博客(19)
  • 收藏
  • 关注

原创 HDFS客户端 输出流源码解析

一、创建文件DFSClient.create()用于创建一个空文件

2014-07-27 09:31:04 971

原创 HDFS客户端 输入流源码解析

DFSClient构造函数中初始化成员后,

2014-07-24 19:19:31 755

原创 Job 提交&初始化

简述步骤:

2014-07-20 21:45:40 932

原创 MR Mapper/Reducer、Partitioner初解

Mapper/Reducer:void map(K1 key, V1 value, OutputCollector output, Reporter reporter)  throws IOException;

2014-07-18 20:57:33 787

原创 MR OutputFormat 初解

包含方法:  RecordWriter getRecordWriter(FileSystem ignored, JobConf job,String name, Progressable progress) throws IOException;

2014-07-17 21:21:33 754

原创 MR InputFormat 初解

作业被提交到Jbclient

2014-07-16 22:23:57 986

原创 linux mmap初解

#include void *mmap(void *start, size_t length, int prot, int flags,int fd, off_t offset);int munmap(void *start, size_t length);

2014-07-14 17:00:19 559

转载 Linux epoll

定义:  epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一个原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核

2014-07-14 14:46:15 501

原创 wait notify notifyAll

Java里面可以将wait和notify放在synchronized里面,是因为Java是这样处理的:在synchronized代码被执行期间,线程调用对象的wait()方法,会释放对象锁标志,然后进入等待状态,然后由其它线程调用notify()或者notifyAll()方法通知正在等待的线程。

2014-07-03 17:17:10 447

原创 DataNode写数据

client发送块给pipeline上的第一个datanode,此datanode将块数据写到本地并传给下一个。然后将后续块返回来的响应信息加上自身的操作结果信息一起返回到前面。在pipeline上,如果某个DataNode有后续节点,那么,它必须等到后续节点的成功应答,才可以发送应答到它前面的节点。 写操作DataXceiver.writeBlock:

2014-07-03 16:25:17 1233

原创 DataNode读数据

DataXceiverServer接受客户端请求,从而为每个客户端开辟一个县城

2014-07-02 20:11:59 751

原创 “零拷贝”数据传输

Java NIO中的transferTo方法等1、public abs

2014-07-02 17:20:43 592

原创 ThreadGroup和ExecutorService

ExecutorService: 1 package BackStage; 2 3  import java.util.concurrent.Executors; 4  import java.util.concurrent.ExecutorService; 5 6  public class JavaThreadPool { 7 public static

2014-07-02 14:37:01 959

原创 AtomicInteger简介

这个类真的非常实用,更重要的是 它确实非常简单:附上自己的代码,可以自己试试:AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。 代码:package test;import jav

2014-07-02 14:21:12 467

原创 NIO就绪处理之OP_WRITE

写就绪相对有一点特殊,一般来说,你不应该注册写事件。写操作的就绪条件为底层缓冲区有空闲空间,而写缓冲区绝大部分时间都是有空闲空间的,所以当你注册写事件后,写操作一直是就绪的,选择处理线程全占用整个CPU资源。所以,只有当你确实有数据要写时再注册写操作,并在写完以后马上取消注册。当有数据在写时,将数据写到缓冲区中,并注册写事件。

2014-07-02 10:23:58 638

原创 Hadoop RPC

hadoop RPC源码

2014-07-01 20:22:44 693

原创 Java 流

一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:1.1 以字节为导向的stream以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型:1)

2014-07-01 19:44:49 435

原创 ThreadLocal

首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过ThreadLocal.set()来实现的,而是通过每个线程中的new 对象 的操

2014-07-01 16:22:35 542

原创 Java NIO

一、缓冲区 java.nio.buffer创建缓冲区:public static ByteBuffer allocate(int capacity);public static ByteBuffer wrap(byte[] array);public static ByteBuffer wrap(byte[] array, int offset, int length);

2014-07-01 14:18:10 527

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除