Windows下使用Eclipse配置Hadoop开发环境 配置Hadoop环境需要的文件资料1、准备Hadoop的安装压缩包以及源码压缩包,解压得到hadoop-2.6.5 和 hadoop-2.6.5-src,然后创建 空白的一个文件夹,命名hadooplib(可以自己起名),如图:2、在hadoop-2.6.5/share/hadoop文件夹下几个子目录中找到所有的jar包,并拷贝到hadooplib目录下3、在tool文件中 找...
大数据面经 Linux:3、平时都用过哪些Linux命令?直接在屏幕上打出来 Linux常用命令大全(非常全!!!)4、Linux查看内存、CPU占有量命令?(当时没答上来!) 查看Linux磁盘及内存占用情况 top 命令7.linux了解吗?epoll?(我说只懂基本命令) I/O多路复用之epoll ...
Java系列 —— 探究InnoDB可重复读 在RC(Read Committed)和RR(Repeatable Read)两种事务隔离级别下,InnoDB存在两种数据读取方式:快照读(Snapshot Read)快照读读取的都是快照数据,快照怎么来,在InnoDB引擎下是基于undo log,那undo log又是什么?举例说明,假设有这样一个表:-- 表结构CREATE TABLE `innodb_test` ( ...
JAVA系列 —— 阻塞非阻塞 同步异步 IO模型及其应用 NIO实现原理 一、NIO的与IO的区别:1、IO是面向流的,NIO是面向缓冲的;2、IO是阻塞的,NIO是非阻塞的;3、IO是单线程的,NIO 是通过选择器来模拟多线程的;1. 通道通道 Channel 是对原 I/O 包中的流的模拟,可以通过它读取和写入数据。通道与流的不同之处在于,流只能在一个方向上移动(一个流必须是 InputStream 或者 OutputStream 的子类),而...
JAVA系列 —— JAVA中对象什么时候死亡以及什么时候执行finalize()方法 一、可达性算法 —— 根搜索算法要知道对象什么时候死亡,我们需要先知道JVM的GC是如何判断对象是可以回收的。JAVA是通过可达性算法来来判断对象是否存活的。这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots 没有任何引用链相连时,则证明此对象是不可用的。在JAVA语言...
MySQL索引 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主...
JAVA锁 —— ReentrantLock公平锁和非公平锁原理详解 一、简介:ReentrantLock的实现是基于其内部类FairSync(公平锁)和NonFairSync(非公平锁)实现的。 其可重入性是基于Thread.currentThread()实现的:如果当前线程已经获得了执行序列中的锁, 那执行序列之后的所有方法都可以获得这个锁。1、公平锁公平和非公平锁的队列都基于锁内部维护的一个双向链表,表结点Node的值就是每一个请求当前锁的线程...
Java —— Synchronized的基本知识、实现原理以及其与ReentrantLock的区别 一、synchronized知识 在谈论synchronized之前,我们需要了解线程安全问题的主要诱因。线程安全问题的主要诱因如下:存在共享数据(也称为临界资源) 存在多条线程共同操作这些共享数据 而解决线程安全的根本方法就是:同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再对共享数据进行操作。 基于上述,引入了互斥锁,其具有两个特性:互...
Java 集合系列 15 Map总结 概述第1 部分 Map 概述第2 部分内部哈希: 哈希映射技术第3 部分 Map 优化3.1 调整实际大小3.2 负载因子一、 Map 概述Map:“键值”对映射的抽象接口。该映射不包括重复的键,一个键对应一个值。SortedMap:有序的键值对接口,继承Map接口。NavigableMap:继承SortedMap,具有了针对给定搜索目标返回最接近...
Java 集合系列 12 —— TreeMap 概要第1部分 红黑树简介第2部分TreeMap数据结构第3部分TreeMap put()方法 3.1TreeMap put()方法分析 3.2 TreeMap put()代码第4部分TreeMap delete()方法 4.1TreeMap delete()方法分析 4.2 TreeMap delete()代码第5部分 TreeMap的相关函数...
Java接口与抽象类 —— 何时使用抽象类?何时使用接口? 一、抽象类抽象类的关键字为abstract,抽象类被创造出来就是为了继承,简单明了地告诉用户跟编译器自己大概是长什么样子的。例如抽象类申明的语法:abstract class Abc { abstract void fun();}抽象类有以下几个特性:1、抽象方法必须为public、protected(若为private,则不能给子类继承,子类无法实现该方法,所以无...
Java11 —— hashmap 和 hashtable 的区别 一、Hashtable和HashMap做为Map的基本特性两者都实现了Map接口,基本特性相同1、对同一个Key,只会有一个对应的value值存在2、如何算是同一个Key? 首先,两个key对象的hash值相同,其次,key对象的equals方法返回真二、内部数据结构Hashtable和HashMap的内部数据结构相似 —— 基本内部数据结构是一个Entr...
Java10 —— Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例 前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。我们先对Hashtable有个整体认识,然后再学习它的源码,第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable主要方法 3.1put() 3.2 get() 3.3 putAll() 3.4 clear() 3.5 contains()...
Java09 —— HashMap详细介绍(源码解析)和使用示例 概要这一章,我们对HashMap进行学习。我们先对HashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashMap。内容包括:第1部分 HashMap介绍第2部分 HashMap数据结构第3部分 HashMap源码解析(基于JDK1.7.0_45) 第3.1部分 HashMap的“拉链法”相关内容 第3.2部分 HashMap的构造函数 第3...
Java08——Map架构 我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。首先,我们看看Map架构。如上图:(01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于Map的抽象类,它实现了Map中的大部分API。其它Map的...
Java07 —— List总结(LinkedList, ArrayList等使用场景和性能分析) 一、List回顾List框架图1、List 是一个接口,它继承于Collection的接口。它代表着有序的队列。2、 AbstractList 是一个抽象类,它继承于AbstractCollection。AbstractList实现List接口中除size()、get(int location)之外的函数。3、 AbstractSequentialList 是一个抽象类,它...
Java05——Vector详细介绍(源码解析)和使用示例 一、Vector介绍Vector 是矢量队列,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。Vector 继承了AbstractList,实现了List;所以,它是一个队列,支持相关的添加、删除、修改、遍历等功能。Vector 实现了RandmoAccess接口,即提供了随机访问功能 ——通...
Java04——LinkedList详细介绍(源码解析)和使用示例 一、LinkedList介绍LinkedList是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。LinkedList实现List接口,能对它进行队列操作。LinkedList实现Deque接口,即能将LinkedList当作双端队列使用。LinkedList实现了Cloneable接口,即覆盖了函数clo...
Java03——ArrayList详细介绍(源码解析)和使用示例 第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayList源码解析(基于JDK1.6.0_45)第4部分 ArrayList遍历方式第5部分 toArray()异常一、ArrayList简介ArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, Rando...
Java02——Collection Collection是一个接口,两个分支:List和Set,都继承Collection。List是有序的队列,可以有重复的元素;Set是数学概念中的集合,没有重复元素!List和Set都有它们各自的实现类。为了方便,我们抽象出了AbstractCollection抽象类,它实现了Collection中的绝大部分函数;这样,在Collection的实现类中,我们就可以通过继承Ab...