摘要: 对于ArrayList而言,它实现List接口、底层使用数组保存所有元素。其操作基本上是对数组的操作。下面我们来分析ArrayList的源代码:1) 底层使用数组实现:2) 构造方法: ArrayList提供了三种方式的构造器,可以构造一个默认初始容量为10的空列表、构造一个指定初始容量的空列表以及... 阅读全文
posted @ 2015-04-05 19:51 keedor 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 是数组中超过一半数目问题的升级版,但万变不离其中 声明一个time数组和candidate数组,长度为3,分别存放三个数的次数和数字 首先次数声明为0,数字声明为不存在的数,这里暂时声明为-1,其实应该声明为一个不存在的数字 然后遍历数组 如果该数是第一个candidate,第一个candida... 阅读全文
posted @ 2015-04-05 19:50 keedor 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 两种方法,一个是基于快排的partition函数,但这种存在一个问题,如果数组{1,1,1,1,1,1,2,3,4,5,6},这样的话,partition返回的数字为2所对应的index 所以这种方法需要添加一个判定数组中是否存在超过一半数字的数 另外一种是,首先认为第一个数就是我们想找的,设置一个time,初始为1,然后遍历后面的数,如果与这个数相同,那么time++,不同则t... 阅读全文
posted @ 2015-04-05 19:39 keedor 阅读(170) 评论(0) 推荐(0) 编辑
摘要: Hadoop是一次写入, 多次读取,因为这种被认为是最高效的访问模式. HDFS为高数据吞吐量优化, 高时间延迟. 对于低延迟, HBase是更好的选择. 大量的小文件不适合HDFS: namenode将文件系统的元数据存储在内存中,包括文件,目录,数据块的存储信息,如果有大量的小文件,那么这些存储信息占了很大的内存,NameNode有可能没有这么大的内存来装这么多的信息 ... 阅读全文
posted @ 2015-04-05 17:13 keedor 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 什么是Hadoop Streaming Hadoop提供的一个编程工具,允许用户使用任何可执行文件或脚本作为mapper和Reducer 一个例子(shell简洁版本) $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-*-streaming.jar \ -input myInputDirs \... 阅读全文
posted @ 2015-04-05 10:26 keedor 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 使用MapReduce import java.io.IOException; // 是hadoop针对流处理优化的类型 import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Long... 阅读全文
posted @ 2015-04-05 09:56 keedor 阅读(395) 评论(0) 推荐(0) 编辑