![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java类源码学习
文章平均质量分 81
iteye_4143
这个作者很懒,什么都没留下…
展开
-
Java类源码学习(1)-Object
package my.java.lang;/** * 所有类的基类,所有的对象(包括数组)都继承Object类 * * @author unascribed * @version 1.73, 03/30/06 * @see java.lang.Class * @since JDK1.0 */public class Object { /**...2015-10-23 11:00:52 · 73 阅读 · 0 评论 -
Java类源码学习(0)-简要说明
本分类是对Java一些基础类源码的学习记录 很多平时用惯的类和方法,细看源码的话还是有不少细节和优化的(虽然用的时候很多时候不需要想这么多)。作为一个语言的基础代码,需要考虑非常全面;同时一些细小的优化可能带来很大的不同(因为使用的地方特别多),所以很多方面还是值得学习的,对于自己开发基础服务/基础模块是很有帮助的 文章内容主要是以对源码注释文档的翻译为主,也包含一些自己的理解...2015-10-23 11:17:17 · 65 阅读 · 0 评论 -
Java类源码学习(2)-HashMap-1
HashMap是最常用的Map实现因为源码很长,先列举一些关键点。这些信息在常规使用中可能不容易被了解到 1.HashMap中的元素按照hash值分为不同的“桶”(bin),如果散列特性好,元素在桶中分布会比较均匀2.实际存储用的hash值并非直接使用key.hashCode(),而是又做了一层散列,避免原生的hashCode()散列性不好3.单个桶尺寸过大时,桶会重构为一...原创 2015-11-13 14:54:54 · 94 阅读 · 0 评论 -
Java类源码学习(2)-HashMap-2
本文是上一篇的继续,补全HashMap剩余部分源码主要是KeySet实现以及一些java8特性方法签名(实现省略了) /** * 返回键值集合的一个视图 * * <pre> * 实际是实现key集合的一个引用迭代子,HashMap本身的变更可以在keySet中直接反映出来 * * 如果HashM...原创 2015-11-13 15:05:32 · 91 阅读 · 0 评论 -
Java类源码学习(2)-HashMap-3
再接上篇,HashMap的最后一部分源码主要是TreeNode逻辑实现,其中包含红黑树增删的相关算法(具体可以参考红黑树的相关介绍) /** * TreeNode的Entry类 * * TreeNode维持为红黑树,保证树的高度为O(logN),并按hashCode有序 */ static final class T...原创 2015-11-13 15:44:39 · 75 阅读 · 0 评论