摘要: 上篇文章《LinkedList其实就那么一回事儿之源码分析》介绍了LinkedList, 本次将为大家介绍HashMap。 在介绍HashMap之前,为了方便更清楚地理解源码,先大致说说HashMap的实现原理, HashMap 是基于数组 + 链表实现的, 首先HashMap就是一个大数组,在这个 阅读全文
posted @ 2018-09-29 15:41 fleam 阅读(177) 评论(0) 推荐(0)
摘要: 分析: Hi.java Hs.java 此时结果为: 阅读全文
posted @ 2018-09-29 15:07 fleam 阅读(158) 评论(0) 推荐(0)
摘要: 计算过程已1<<30为例,首先把1转为二进制数字 0000 0000 0000 0000 0000 0000 0000 0001 然后将上面的二进制数字向左移动30位后面补0得到 01000000 00000000 00000000 00000000(共计32位,是int的最大长度,第一位标示的是符 阅读全文
posted @ 2018-09-29 13:25 fleam 阅读(3580) 评论(0) 推荐(0)
摘要: 今天看HashMap的底层实现,发现HashMap的最大容量规定为: // 最大容量(必须是2的幂且小于2的30次方,传入容量过大将被这个值替换) static final int MAXIMUM_CAPACITY = 1 << 30; 当看到 1<<30 时,对“<<” 有点模糊,当了解“<<”的 阅读全文
posted @ 2018-09-29 13:20 fleam 阅读(769) 评论(0) 推荐(0)
摘要: http://www.runoob.com/java/java-operators.html 阅读全文
posted @ 2018-09-29 13:14 fleam 阅读(133) 评论(0) 推荐(0)
摘要: public V put(K key, V value) { //假如table为空 if (table == EMPTY_TABLE) { inflateTable(threshold); } //假如键为空 if (key == null) return putForNullKey(value); int has... 阅读全文
posted @ 2018-09-29 11:59 fleam 阅读(134) 评论(0) 推荐(0)
摘要: 接口、接口实现、调用 这里只是对一些不常见的语法和概念进行一个大概的认知 可能并不是完全正确的 阅读全文
posted @ 2018-09-29 11:38 fleam 阅读(295) 评论(0) 推荐(0)
摘要: Java中多态是个很难理解的概念,但同时又是非常重要的概念,Java三大特性(封装、继承、多态)之一,我们从字面上理解,就是一种类型的多种状态,一下通过卖小汽车的例子再次说明什么是多态,其中利用到了接口。 代码实例: 测试类: 注意事项总结: 继承是多态得以实现的基础。从字面上理解,多态就是一种类型 阅读全文
posted @ 2018-09-29 11:24 fleam 阅读(338) 评论(0) 推荐(0)
摘要: 多态1.JAVA里没有多继承,一个类之能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形 阅读全文
posted @ 2018-09-29 10:56 fleam 阅读(675) 评论(0) 推荐(0)
摘要: 1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得 阅读全文
posted @ 2018-09-29 10:35 fleam 阅读(137) 评论(0) 推荐(0)