摘要: Entry类中需包含键值的hash值,防止resize时的重复计算;Map容量为2的整幂,可使用位操作取代取余操作提高效率;resize时需要将原table的桶内数据置null,利于垃圾回收;hash函数考虑数据高位的影响,可减少冲突。 1 public class MyHashMap implements IMap { 2 static final float DEFAULT_LOAD_FACTOR = 0.75f; 3 static final int DEFAULT_CAPACITY = 16; 4 5 Entry[] table; 6 in... 阅读全文
posted @ 2013-08-14 15:56 infinityu 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 如果内部类不会引用到外部类的东西的话,强烈建议使用静态内部类,因为这样更节省资源,减少内部类指向外部类的引用——Effective java两个差别:一、如是否可以创建静态的成员方法与成员变量(静态内部类可以创建静态的成员,而非静态的内部类不可以)二、对于访问外部类的成员的限制(静态内部类只可以访问外部类中的静态成员变量与成员方法,而非静态的内部类即可以访问所有的外部类成员方法与成员变量)。在一个类中创建另外一个类,叫做成员内部类。这个成员内部类可以静态的(利用static关键字修饰),也可以是非静态的。一、静态内部类的使用目的。在定义内部类的时候,在其前面加上一个权限修饰符static。这个 阅读全文
posted @ 2013-08-14 12:29 infinityu 阅读(652) 评论(0) 推荐(0) 编辑