JDK1.7 中的HashMap源码分析
一、源码地址:源码地址:http://docs.oracle.com/javase/7/docs/api/二、数据结构JDK1.7中采用数组+链表的形式,HashMap是一个Entry<K,V>[] table数组,JDK1.8采用数组+链表/红黑树实现,当链表长度超过阈值,将链表转为红...
【JUC】JDK1.8源码分析之LockSupport(一)
一、前言最开始打算分析ReentrantLock,但是分析到最后,发现离不开LockSuport的支持,所以,索性就先开始分析LockSupport,因为它是锁中的基础,是一个提供锁机制的工具类,所以先对其进行分析。二、LockSupport源码分析2.1 类的属性public class Lock...
Java Jdk1.8 HashMap源码阅读笔记一
最近在工作用到Map等一系列的集合,于是,想仔细看一下其具体实现。一、结构public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable1...
ConcurrentHashMap基于JDK1.8源码剖析
前言声明,本文用的是jdk1.8前面章节回顾:Collection总览List集合就这么简单【源码剖析】Map集合、散列表、红黑树介绍HashMap就是这么简单【源码剖析】LinkedHashMap就这么简单【源码剖析】TreeMap就这么简单【源码剖析】本篇主要讲解ConCurrentHashMa...
JDK8中的HashMap实现原理及源码分析
大纲一.什么是Hash?什么是HashMap?二.HashMap的内部实现机制1.HashMap基本元素①DEFAULT_INITIAL_CAPACITY&MAXIMUM_CAPACITY②DEFAULT_LOAD_FACTOR&loadFactor③size&thresho...
分享一个jdk源码链接
请查看下面的链接:http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/file/bcba89ce0a8c/src/share/classes/,进入页面后,点击列表中的项,就能进入各个包中查看源码,里面包含了下载的jdk的src.zip中没有包含的源码。
JDK1.7源码分析01-Collection
同步发布:http://www.yuanrengu.com/index.php/20180221.htmlJava的集合类主要由两个接口派生而出:Collection和Map。Collection是一个接口,它主要的两个分支为List和Set,Map的介绍会在后面的系列中进行详细的分析。如下图所示为...
OpenJDK源码研究笔记(十五):吐槽JDK中的10个富有争议的设计
前14篇文章,分享了JDK中值得学习和借鉴的编码和设计方法。每个硬币都是有两面的。Every coin has two sides。当然,JDK中也有很多值得改进或者说富有争议的设计。本篇,就来详细吐槽下JDK中的10个富有争议的设计。网友指出1.求和抛异常,错误提示不合理。在OpenJDK源码研究...
MyEclipse中导入jdk源码
1:打开MyEclipse选择Window->Preference2:选择Java->Installed JREs3:选中你所安装的jre,点击Edit,进入Edit JRE4:选中rt.jar,点击Source Attachment5:在对话框中,点击External File,选择你...
jdk8源码3---集合2---LinkedList
一、签名 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Ser...
简单看看jdk7源码之java.lang包01
从今天开始简单开始读一遍jdk的源码,估计这个时间会很长,慢慢啃吧。。。。(首先说一句抱歉,因为很多图都是直接百度扣的,图太多了不能为每一个图附上原版链接,不好意思!)在网上看了很多的教程,读源码有一定的顺序,按照包的顺序:java.lang包,java.util包,java.util.concur...
idea导入jdk源码查看(xjl456852原创)
idea添加了jdk环境后,却无法查看jdk源码,只能通过idea自带的反编译查看,看起来有些不爽. 下面来说一下如何设置,导入jdk源码,查看时通过源码查看jdk. 1.点击菜单 File ->Project Structure,点击SDKs,在Sourcepath中添...
JDK源码-java7-ConcurrentHashMap探讨
本文目录 本文目录 开篇明志 简述实现原理 内部结构图 重要实体类讲解 开篇明志 利用本文对java1.7中的 ConcurrentHashMap 进行简短的探讨和总结。另外一篇关于Java1.8-ConcurrentHashMap的文章大家可...
[JUC-5]ConcurrentHashMap源码分析JDK8
在学习之前,最好先了解下如下知识:1、ReentrantLock的实现和原理。2、Synchronized的实现和原理。3、硬件对并发支持的CAS操作及JVM中Unsafe对CAS的实现。4、JDK1.7中关于ConcurrentHashMap的实现原理。5、volatile的实现原理。6、二叉树,...
【JDK】JDK源码分析-LinkedHashMap
概述前文「JDK源码分析-HashMap(1)」分析了 HashMap 主要方法的实现原理(其他问题以后分析),本文分析下 LinkedHashMap。先看一下 LinkedHashMap 的类继承结构图:可以看到 LinkedHashMap 继承了 HashMap。我们知道 HashMap 是无序...
【JDK】JDK源码分析-List, Iterator, ListIterator
List 是最常用的容器之一。之前提到过,分析源码时,优先分析接口的源码,因此这里先从 List 接口分析。List 方法列表如下:由于上文「JDK源码分析-Collection」已对 Collection 接口的方法进行了简要分析,而 List 接口继承自 Collection,因此这里只分析一些...
【JDK】JDK源码分析-AbstractQueuedSynchronizer(3)
概述前文「JDK源码分析-AbstractQueuedSynchronizer(2)」分析了 AQS 在独占模式下获取资源的流程,本文分析共享模式下的相关操作。其实二者的操作大部分是类似的,理解了前面对独占模式的分析,再分析共享模式就相对容易了。共享模式方法概述与独占模式类似,共享模式下也有与之类似...
JDK源码分析(三)—— LinkedList
参考文档JDK源码分析(4)之 LinkedList 相关JDK源码分析(三)—— LinkedList的更多相关文章JDK源码分析(二)——LinkedList目录 LinkedList LinkedList继承结构 LinkedList内部类Node Link...
【JDK】JDK源码分析-TreeMap(2)
前文「JDK源码分析-TreeMap(1)」分析了 TreeMap 的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。插入操作该操作其实就是红黑树的插入节点操作。前面分析过,红黑树是一种平衡二叉树,新增节点后可能导致其失去平衡,因此需要对其进行修复...
jdk1.7源码之-hashMap源码解析
背景:笔者最近这几天在思考,为什么要学习设计模式,学些设计模式无非是提高自己的开发技能,但是通过这一段时间来看,其实我也学习了一些设计模式,但是都是一些demo,没有具体的例子,学习起来不深刻,所以我感觉我可能要换一条路走,所以我现在想法是看一些源码的东西,一方面是因为自己大部分的源码其实没有看过,...