
源码分析
文章平均质量分 83
treeroot
爱好围棋,热爱生活
展开
-
String转换成Integer源码分析
我们经常为用到Integer.valueOf(String str)这个方法,如果字符串格式不对,这个方法会抛出一个系统异常NumberFormatException这里我们就要分析一下这个方法,其中Byte,Short也是调用了Ingeter中的方法.在Integer类中的定义如下:public static Integer valueOf(String s) throws NumberForm原创 2004-09-02 21:49:00 · 5640 阅读 · 0 评论 -
源码分析:HashMap
HashMap是Java新Collection Framework中用来代替HashTable的一个实现,HashMap和HashTable的区别是: HashMap是未经同步的,而且允许null值。HashTable继承Dictionary,而且使用了Enumeration,所以被建议不要使用。HashMap的声明如下:public class HashMap extends AbstractM原创 2004-09-20 22:43:00 · 3061 阅读 · 1 评论 -
AbstractSet源码
Java Collection框架中就是Set系列最简单了,Set接口和Collection接口一样,AbstractSet同样非常简单,只有三个方法的实现,这里一一列出。public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof Set)) return false;原创 2004-09-21 18:51:00 · 2180 阅读 · 0 评论 -
ArrayList源码分析
终于可以开始分析第一个具体的类,我们对ArrayList应该非常面熟了,不管你是否了解它是如何实现的,但是我们到处都使用到它。 声明如下: public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable有关AbstractList:h原创 2004-09-16 20:26:00 · 6354 阅读 · 1 评论 -
一个庸俗的实现:HashSet
我们知道HashMap可以看作三个视图:key的Set,value的Collection,Entry的Set。 这里HashSet就是其实就是HashMap的一个视图,因为HashSet直接利用HashMap,所以实现非常简单,这个类其实就是一个使用HashMap的例子,根本就没有什么值得分析的。由于不用使用HashMap的value集合,所以所有的value都是同一个值(一个没有用的对象,但是不原创 2004-09-21 19:16:00 · 2884 阅读 · 0 评论 -
源码分析:LinkedList和Java中的指针操作
LinkedList类似C语言的双向链表,但是java中没有指针如何实现呢,看完LinkedList 你将对java中的引用类型有更深入的理解。LindedList的声明如下: public class LinkedList extends AbstractSequentialList implements List, Cloneable, java.io.Serializable有关Abst原创 2004-09-18 13:35:00 · 7125 阅读 · 4 评论 -
AbstractCollection源码分析
AbstractCollection抽象类提供了Collection的骨架实现,Collection分析请看:http://blog.youkuaiyun.com/treeroot/admin/Referrers.aspx?EntryID=99591这里直接看它的代码是如何实现的.public abstract Iterator iterator();该方法没有实现.public abstract int s原创 2004-09-11 21:31:00 · 3307 阅读 · 2 评论 -
AbstractList源码分析
AbstractList给List提供了一个骨架实现,它的声明是这样的:public abstract class AbstractList extends AbstractCollection implements List继承AbstractCollection,实现List接口。 有关AbstractCollection:http://blog.youkuaiyun.com/treeroot/archi原创 2004-09-14 22:55:00 · 5141 阅读 · 0 评论 -
我见过的最长的表达式
BitSet里的一个方法: private static int bitLen(int w) { // Binary search - decision tree (5 tests, rarely 6) return (w (w (w (w (w原创 2004-11-09 15:33:00 · 1938 阅读 · 4 评论