• JDK1.7 中的HashMap源码分析

    时间:2023-01-20 13:22:14

    一、源码地址:源码地址:http://docs.oracle.com/javase/7/docs/api/二、数据结构JDK1.7中采用数组+链表的形式,HashMap是一个Entry<K,V>[] table数组,JDK1.8采用数组+链表/红黑树实现,当链表长度超过阈值,将链表转为红...

  • 【JUC】JDK1.8源码分析之LockSupport(一)

    时间:2023-01-18 19:13:59

    一、前言最开始打算分析ReentrantLock,但是分析到最后,发现离不开LockSuport的支持,所以,索性就先开始分析LockSupport,因为它是锁中的基础,是一个提供锁机制的工具类,所以先对其进行分析。二、LockSupport源码分析2.1 类的属性public class Lock...

  • Java Jdk1.8 HashMap源码阅读笔记一

    时间:2023-01-16 19:16:02

    最近在工作用到Map等一系列的集合,于是,想仔细看一下其具体实现。一、结构public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable1...

  • ConcurrentHashMap基于JDK1.8源码剖析

    时间:2023-01-15 14:38:51

    前言声明,本文用的是jdk1.8前面章节回顾:Collection总览List集合就这么简单【源码剖析】Map集合、散列表、红黑树介绍HashMap就是这么简单【源码剖析】LinkedHashMap就这么简单【源码剖析】TreeMap就这么简单【源码剖析】本篇主要讲解ConCurrentHashMa...

  • JDK8中的HashMap实现原理及源码分析

    时间:2023-01-14 22:32:02

    大纲一.什么是Hash?什么是HashMap?二.HashMap的内部实现机制1.HashMap基本元素①DEFAULT_INITIAL_CAPACITY&MAXIMUM_CAPACITY②DEFAULT_LOAD_FACTOR&loadFactor③size&thresho...

  • 分享一个jdk源码链接

    时间:2023-01-13 00:08:58

    请查看下面的链接:http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/file/bcba89ce0a8c/src/share/classes/,进入页面后,点击列表中的项,就能进入各个包中查看源码,里面包含了下载的jdk的src.zip中没有包含的源码。

  • JDK1.7源码分析01-Collection

    时间:2023-01-08 14:21:41

    同步发布:http://www.yuanrengu.com/index.php/20180221.htmlJava的集合类主要由两个接口派生而出:Collection和Map。Collection是一个接口,它主要的两个分支为List和Set,Map的介绍会在后面的系列中进行详细的分析。如下图所示为...

  • OpenJDK源码研究笔记(十五):吐槽JDK中的10个富有争议的设计

    时间:2023-01-06 07:16:43

    前14篇文章,分享了JDK中值得学习和借鉴的编码和设计方法。每个硬币都是有两面的。Every coin has two sides。当然,JDK中也有很多值得改进或者说富有争议的设计。本篇,就来详细吐槽下JDK中的10个富有争议的设计。网友指出1.求和抛异常,错误提示不合理。在OpenJDK源码研究...

  • MyEclipse中导入jdk源码

    时间:2023-01-05 13:39:30

    1:打开MyEclipse选择Window->Preference2:选择Java->Installed JREs3:选中你所安装的jre,点击Edit,进入Edit JRE4:选中rt.jar,点击Source Attachment5:在对话框中,点击External File,选择你...

  • jdk8源码3---集合2---LinkedList

    时间:2023-01-04 19:35:46

    一、签名 public class LinkedList<E>     extends AbstractSequentialList<E>     implements List<E>, Deque<E>, Cloneable, java.io.Ser...

  • 简单看看jdk7源码之java.lang包01

    时间:2023-01-03 19:19:56

    从今天开始简单开始读一遍jdk的源码,估计这个时间会很长,慢慢啃吧。。。。(首先说一句抱歉,因为很多图都是直接百度扣的,图太多了不能为每一个图附上原版链接,不好意思!)在网上看了很多的教程,读源码有一定的顺序,按照包的顺序:java.lang包,java.util包,java.util.concur...

  • idea导入jdk源码查看(xjl456852原创)

    时间:2023-01-02 21:33:20

    idea添加了jdk环境后,却无法查看jdk源码,只能通过idea自带的反编译查看,看起来有些不爽. 下面来说一下如何设置,导入jdk源码,查看时通过源码查看jdk. 1.点击菜单 File ->Project Structure,点击SDKs,在Sourcepath中添...

  • JDK源码-java7-ConcurrentHashMap探讨

    时间:2023-01-01 19:16:25

    本文目录 本文目录 开篇明志 简述实现原理 内部结构图 重要实体类讲解 开篇明志 利用本文对java1.7中的 ConcurrentHashMap 进行简短的探讨和总结。另外一篇关于Java1.8-ConcurrentHashMap的文章大家可...

  • [JUC-5]ConcurrentHashMap源码分析JDK8

    时间:2023-01-01 09:51:06

    在学习之前,最好先了解下如下知识:1、ReentrantLock的实现和原理。2、Synchronized的实现和原理。3、硬件对并发支持的CAS操作及JVM中Unsafe对CAS的实现。4、JDK1.7中关于ConcurrentHashMap的实现原理。5、volatile的实现原理。6、二叉树,...

  • 【JDK】JDK源码分析-LinkedHashMap

    时间:2023-01-01 07:58:57

    概述前文「JDK源码分析-HashMap(1)」分析了 HashMap 主要方法的实现原理(其他问题以后分析),本文分析下 LinkedHashMap。先看一下 LinkedHashMap 的类继承结构图:可以看到 LinkedHashMap 继承了 HashMap。我们知道 HashMap 是无序...

  • 【JDK】JDK源码分析-List, Iterator, ListIterator

    时间:2023-01-01 07:44:55

    List 是最常用的容器之一。之前提到过,分析源码时,优先分析接口的源码,因此这里先从 List 接口分析。List 方法列表如下:由于上文「JDK源码分析-Collection」已对 Collection 接口的方法进行了简要分析,而 List 接口继承自 Collection,因此这里只分析一些...

  • 【JDK】JDK源码分析-AbstractQueuedSynchronizer(3)

    时间:2023-01-01 07:44:49

    概述前文「JDK源码分析-AbstractQueuedSynchronizer(2)」分析了 AQS 在独占模式下获取资源的流程,本文分析共享模式下的相关操作。其实二者的操作大部分是类似的,理解了前面对独占模式的分析,再分析共享模式就相对容易了。共享模式方法概述与独占模式类似,共享模式下也有与之类似...

  • JDK源码分析(三)—— LinkedList

    时间:2023-01-01 00:26:30

    参考文档JDK源码分析(4)之 LinkedList 相关JDK源码分析(三)—— LinkedList的更多相关文章JDK源码分析&lpar;二&rpar;——LinkedList目录 LinkedList LinkedList继承结构 LinkedList内部类Node Link...

  • 【JDK】JDK源码分析-TreeMap(2)

    时间:2023-01-01 00:26:24

    前文「JDK源码分析-TreeMap(1)」分析了 TreeMap 的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。插入操作该操作其实就是红黑树的插入节点操作。前面分析过,红黑树是一种平衡二叉树,新增节点后可能导致其失去平衡,因此需要对其进行修复...

  • jdk1.7源码之-hashMap源码解析

    时间:2022-12-31 17:01:09

    背景:笔者最近这几天在思考,为什么要学习设计模式,学些设计模式无非是提高自己的开发技能,但是通过这一段时间来看,其实我也学习了一些设计模式,但是都是一些demo,没有具体的例子,学习起来不深刻,所以我感觉我可能要换一条路走,所以我现在想法是看一些源码的东西,一方面是因为自己大部分的源码其实没有看过,...