文章 2021-12-08 来自:开发者社区

JDK集合源码之HashTable解析

对于HashMap源码剖析,可以参考:JDK集合源码之HashMap解析(上) 以及JDK集合源码之HashMap解析(下) ,HashMap底层红黑树实现(自己实现一个简单的红黑树)1. 二者继的承体系有区别HashTableHashMap从图中可以对比得出,二者都是源于Map口接口,都实现Cloneable和Serializable接口,二者都可以克隆和序列化。但HashMap的父类是Abs....

JDK集合源码之HashTable解析
文章 2021-12-03 来自:开发者社区

为了彻底搞懂 hashCode,我连 JDK 的源码都没放过(建议收藏)

今天我们来谈谈 Java 中的 hashCode() 方法——通过源码的角度。众所周知,Java 是一门面向对象的编程语言,所有的类都会默认继承自 Object 类,而 Object 的中文意思就是“对象”。Object 类中就包含了 hashCode() 方法:@HotSpotIntrinsicCandidate public native int hashCode();意味着所有的类都会有一....

为了彻底搞懂 hashCode,我连 JDK 的源码都没放过(建议收藏)
文章 2021-01-05 来自:开发者社区

JDK1.8中ArrayList集合源码解析

ArrayList集合源码解析 所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类 今天我们了解下List 接口 List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定...

JDK1.8中ArrayList集合源码解析
问答 2020-04-25 来自:开发者社区

JDK源码方法命名中0的含义

我看jdk源码里面有不少方法后面带个0,这是出于什么目的呢?例如 来源:云原生后端社区

问答 2020-04-20 来自:开发者社区

JDK源码ArrayList流程机制问题

[北京-打杂-火柴]弱弱的问一下 这个地方 JDK1.8 明明赋值的是一个空数组 为什么说ArrayList默认大小是10呢? 来源:云原生后端社区https://www.yuque.com/server_mind/answer

文章 2020-03-29 来自:开发者社区

Java是如何实现自己的SPI机制的? JDK源码(一)

注:该源码分析对应JDK版本为1.8 1 引言 这是【源码笔记】的JDK源码解读的第一篇文章,本篇我们来探究Java的SPI机制的相关源码。 2 什么是SPI机制 那么,什么是SPI机制呢? SPI是Service Provider Interface 的简称,即服务提供者接口的意思。根据字面意思我们可能还有点困惑,SPI说白了就是一种扩展机制,我们在相应配置文件中定义好某个接口的实现类,然后再....

文章 2019-07-25 来自:开发者社区

jdk11源码--SynchronousQueue源码分析

概述 SynchronousQueue是一个同步阻塞队列,每一个 put操作都必须等待一个take操作。每一个take操作也必须等待一个put操作。SynchronousQueue是没有容量的,无法存储元素节点信息,不能通过peek方法获取元素,peek方法会直接返回null。由于没有元素,所以不能被迭代,它的iterator方法会返回一个空的迭代器Collections.emptyIterat....

jdk11源码--SynchronousQueue源码分析
文章 2019-07-25 来自:开发者社区

jdk11源码--LinkedBlockingQueue源码分析

概述 上一篇介绍了jdk11源码--ArrayBlockingQueue源码分析,接下来看一下LinkedBlockingQueue的实现。这两个阻塞队列最大的区别就是底层元素存储实现不同,ArrayBlockingQueue是基于==数组==,而LinkedBlockingQueue是基于==单向链表==。 LinkedBlockingQueue类图如下: LinkedBlockingQueu....

jdk11源码--LinkedBlockingQueue源码分析
文章 2019-07-25 来自:开发者社区

jdk11源码--ArrayBlockingQueue源码分析

概述 上一篇文章jdk11源码--ReentrantLock之Condition源码分析中分析了ReentrantLock和Condition的源码,那么接下来看一下Condition在JDK中的具体应用。 ArrayBlockingQueue底层就是使用Condition来实现的。 BlockingQueue BlockingQueue 阻塞队列,该类是一个接口,平时我们熟知的ArrayBlo....

jdk11源码--ArrayBlockingQueue源码分析
文章 2019-07-25 来自:开发者社区

jdk11源码--ReentrantLock之Condition源码分析

概述 在jdk11源码-ReentrantLock源码一文中分析了ReentrantLock源码。里面有讲述在多个线程加入队列时的AQS内部状态:==简单来说:condition的await和signal操作就是将node节点在这两个队列中转移的过程,这里重点关注waitstatus和nextwaiter两个字段。后面会逐行代码分析== 创建Condition 一个ReentrantLock可以....

jdk11源码--ReentrantLock之Condition源码分析

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐