- 浏览: 661826 次
- 性别:
- 来自: 深圳
博客专栏
-
Hadoop学习
浏览量:251950
最新评论
-
leibnitz:
请问,你知道在FSEdigLog#loadFSEdits()时 ...
Hadoop学习二十三:Hadoop-Hdfs FSDirectory 源码 -
jiaqing_blog:
七.等待队列(本是Object里的方法,但影响了线程)noti ...
多线程总结二:线程的状态转换 -
haaarySun:
虽然是三年前的帖子,但还是想回复博主,logger是继承了ca ...
Java日志学习三:Apache Log4j源码浅析 -
annmi_cai:
好好学习,天天向上!
Hadoop学习四:Hadoop-Hdfs NameNode -
emotionText:
楼主你好!我运行报错SLF4J: Class path con ...
Hadoop学习三十:Win7 Eclipse调试Centos Hadoop2.2-Mapreduce
文章列表
计算机组成原理学习三:字符集和字符编码
- 博客分类:
- 计算机组成原理
一.基本概念
字符集(Charset)就是一组抽象字符的集合。
字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。
一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。
我们知道计算机内部是用二进制表示数据的,计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。
制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。
根据字符集内字符的多少,会确定用几个字节来编码。
每种编码都限定了一个明确的字符集合 ...
计算机组成原理学习二:原码 反码 补码
- 博客分类:
- 计算机组成原理
一.机器数和真值
机器数
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1。
eg. 十进制7机器数就是0000 0111,十进制-7机器数就是1000 0111。
真值
将带符号位的机器数对应的真正数值称为机器数的真值。就是上面例子里的7和-7。
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 1000 0111,其最高位1代表负,其真正数值是 -7 而不是形式值135(1000 0011转换成十进制等于135)。
二.原码 反码 ...
计算机组成原理学习一:进制
- 博客分类:
- 计算机组成原理
一.进制的概念
进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一......
在数学里面进制数很多,二进制,四进制,八进制,十进制,十二进制,十六进制,六十进制......本文主要针对计算机,只考虑常用进制。
二.常用进制
二进制:0和1表示所有数据。
八进制:0到7表示所有数据。
十进制:最常见的,没什么说的。
十六进制:0到9,A到F这个15个数表示所有的数据。
三.进制转换注意点
二进制转八进制, ...
大学的时候没好好学习这方面的东西,现在补起来,学到什么都会以博客形式反映出来。
容器学习十一:Queue & Stack
- 博客分类:
- 容器
一.Queue类图
整个Queue结构如上图,单双端+Blocking与否组成了四个接口。
Queue:队列。
Deque:double ended queue双端队列。
BlockingQueue:阻塞队列。
BlockingDeque:阻塞双端队列。
二.Stack类
栈的实现。
public class Stack<E> extends Vector<E>,直接用Vector实现其
LIFO的思想。
三.Queue & Stack
Queue队列,满足FIFO;Stack ...
一.前言
以前对Vector这对象很陌生,用的少,对象的名字(Vector矢量,向量)也让人摸不着头脑,以为是什么新东西...
前文已经学习了ArrayList和LinkedList的源码,原本打算写个Vector源码分析的,但看了一下,Vector和ArrayList一样啊,于是作罢。本文就简单的对比下这三种List。
二.Vector & ArrayList
Vector线程安全,所有的方法都synchronized。ArrayList线程不安全,裸奔。
扩容//ArrayList
public void ensureCapacity(int minCap ...
一.前言
本系列文章以研究源码为主,源码原理和设计次之,应用最弱。因为现在能读懂源码,要搞清楚设计和原理尚需火候,至于应用网上大把大把的有,读懂了源码应用也就是小事了。
二.
Comparable & Comparator
...
一.知识点
Class cl=对象引用o.getClass();返回引用o运行时真正所指的对象(因为:儿子对象的引用可能会赋给父对象的引用变量中)所属的类O的Class的对象。谈不上对类O做什么操作。
Class cl=A.class; JVM将使用类A的类装载器,将类A装入内存(前提:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象。
Class cl=Class.forName("类全名");装载连接初始化类。
Class cl=ClassLoader.loadClass("类全名");装载类,不连接不 ...
容器学习八:LinkedList源码分析
- 博客分类:
- 容器
一.概述
LinkedList继承Deque,所以LinkedList的插入删除操作遵循先进性出FIFO。
LinkedList继承Deque,所以Linkedist实现了Deque的操作,比喻offer peek pollfirst/last等操作。其实这些操作也就是建立在getFirst getLast addFirst addLast removeFirst remove ...
一.成员变量
// 在AbstractList里面定义的
protected transient int modCount = 0;
// 内部用数组实现
private transient Object[] elementData;
private int size;
二.构造函数
// 自己在写代码的时候为了严谨,最好是先判断参数抛出IllegalArg ...
一.概述
Set是通过Map来支持的,Set接口里的所有方法,都委托给内部的Map去实现。
二.HashSet源码
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable
{
static final long serialVersionUID = -5024744406713321676L;
//内部保存一个map引用
private ...
一.TreeMap成员变量
//Comparator比较器接口,接口里面只有两个方法int compare(T o1, T o2);boolean equals(Object obj);
private final Comparator<? super K> comparator;
//根节点
private transient Entry<K,V> root = null;
private transient int size = 0;
private transient int modCount ...
一.排序二叉树
排序二叉树是一种特殊结构的二叉树,可以非常方便地对树中所有节点进行排序和检索。
排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树:
若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值。
若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。
二.排序二叉树添加节点
以根节点当前节点开始搜索,拿被添加的节点的值和当前节点的值比较。
如果被添加的节点的值更小,则以当前节点的左子节点作为新的当前节点。
如果被添加的节点的值更大,则以当前节点的右子节点作为新的当前节点。
...
容器学习三:LinkedHashMap源码分析
- 博客分类:
- 容器
一.LinkedHashMap的存储结构
LinkedHashMap是继承HashMap,也就继承了HashMap的结构,也就是图中的结构2,在下文中我用"Entry数组+next链表"来描述。而LinkedHashMap有其自己的变量header,也就是图中的结构1,下文中我用"header链表"来描述。
结构1中的Entry和结构2中的Entry本是同一个,结构1中应该就只有一个header,它指向的是结构2中的e1 e2,但这样会使结构图难画。为了说明问题的方便,我把结构2里的e1 e2在结构1中多画一个。
二.LinkedH ...