• JDK9.0 HashSet源码阅读记录

    时间:2023-02-07 17:01:25

    Set接口 继承体系 私有属性 构造器 添加元素 移除元素 其他方法 获取元素数量 检测是否为空 检测是否包含对象 清空所有元素 迭代器 实例 相关...

  • 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...

  • jdk1.8 J.U.C并发源码阅读------AQS之独占锁的获取与释放

    时间:2022-12-20 17:57:58

    一、继承关系 since1.5public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable 继承自Abstract...

  • JDK源码阅读——LinkedList实现

    时间:2022-12-15 15:24:31

    1 继承结构图   LinkedList是List的另一种实现。继承自AbstractSequentialList 2 数据结构 LinkedList与ArrayList不同的是LinkedList底层使用双向链表进行存储,其主要数据结构如下 // 记录List长度transient int s...

  • JDK7集合框架源码阅读(五) Hashtable

    时间:2022-10-15 17:57:28

    基于版本jdk1.7.0_80 java.util.Hashtable   代码如下 /* * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONF...

  • JDK源码阅读顺序

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

        很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起。以下为小编整理的通常所需阅读的源码范围。 标题为包名,后面序号为优先级1-4,优先级递减 1、java.lang 1) Object 12) String 13) Ab...

  • jdk源码阅读Collection详解

    时间:2022-09-05 19:30:27

    这篇文章主要介绍了jdk源码阅读Collection详解,具有一定借鉴价值,需要的朋友可以参考下

  • ArrayList源码阅读笔记(基于JDk1.8)

    时间:2022-08-13 11:54:56

    关键常量:private static final int DEFAULT_CAPACITY = 10; 当没有其他参数影响数组大小时的默认数组大小private static final Object[] EMPTY_ELEMENTDATA = {}; 如果elementData用这个变量初始化,...

  • JDK源码阅读——LinkedList实现

    时间:2022-07-17 17:20:33

    1 继承结构图LinkedList是List的另一种实现。继承自AbstractSequentialList2 数据结构LinkedList与ArrayList不同的是LinkedList底层使用双向链表进行存储,其主要数据结构如下// 记录List长度transient int size = 0;...

  • 如何阅读jdk及开源框架的源码?

    时间:2022-06-06 01:13:47

    1.熟悉设计模式可以边读源码 ,边熟悉设计模式,理解编程思想。jdk中对应的设计模式见:http://blog.csdn.net/gtuu0123/article/details/61141972.宏观把握。理清整体的布局,架构设计,各个包及类、方法的作用。查看类的相关接口、实现类等。可以用IDEA...

  • ArrayList源码阅读----JDK1.8

    时间:2022-05-19 19:36:58

    //定义一个默认的长度10 private static final int DEFAULT_CAPACITY = 10; //定义空的数组 private static final Object[] EMPTY_ELEMENTDATA = {}; //定义数组用...

  • JDK1.8源码阅读之——VECTOR,ARRAYLIST, LINKEDLIST

    时间:2022-05-19 19:36:52

    一、ArrayList public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializab...

  • JDK1.8源码阅读系列之一:ArrayList

    时间:2022-05-19 19:36:46

       本篇随笔主要描述的是我阅读 ArrayList 源码期间的对于 ArrayList 的一些实现上的个人理解,有不对的地方,请指出~ 先来看一下 ArrayList 的继承图: 由图可以看出,ArrayList 的父类有 AbstractList、 AbstractCollection ,所以...

  • JDK源码阅读--String

    时间:2022-05-19 06:28:45

    public final class String implements java.io.Serializable, Comparable<String>, CharSequence String被final修饰,表示String类不能被继承。String类实现了Serializa...

  • jdk源码阅读笔记-ArrayList

    时间:2022-05-04 22:23:29

    一、ArrayList概述首先我们来说一下ArrayList是什么?它解决了什么问题?ArrayList其实是一个数组,但是有区别于一般的数组,它是一个可以动态改变大小的动态数组。ArrayList的关键特性也是这个动态的特性了,ArrayList的设计初衷就是为了解决Java数组长度不可变的问题。...

  • JDK源码阅读-FileInputStream

    时间:2022-04-18 13:45:51

    本文转载自JDK源码阅读-FileInputStream导语FileIntputStream用于打开一个文件并获取输入流。打开文件我们来看看FileIntputStream打开文件时,做了什么操作:public FileInputStream(File file) throws FileNotFou...

  • jdk源码阅读--(LinkedList)

    时间:2022-02-05 15:25:04

    一、linkedList底i层存储结构 private static class Node<E> { E item; Node<E> next; Node<E> prev; Node(Node<E&g...

  • JDK源码阅读之LinkedList

    时间:2022-02-05 15:25:16

    转载请加链接 http://blog.csdn.net/lcli2009/article/details/19990065,谢谢 List 接口的链接列表(双向链表)实现。 LinkedList内部数据组织如下类似,即first结点的后向指针指向第一个数据结点,first结点的前向指针为null...

  • jdk1.8源码阅读ArrayList

    时间:2022-01-27 21:55:50

       ArrayList的实现原理就是大学数据结构书本中的动态数组原理,初始化一个Object数组,然后对Object数组进行插入,扩容,查找,删除等操作。所以可以看出java引用类型所占内存大小是一样的,Object数组类似于c语言中的void*指针数组,每个指针在64位机器上都占8字节, 在ho...

  • JDK 1.8源码阅读 TreeMap

    时间:2022-01-08 17:17:12

    一,前言 TreeMap:基于红黑树实现的,TreeMap是有序的。 二,TreeMap结构 2.1 红黑树结构 红黑树又称红-黑二叉树,它首先是一颗二叉树,它具体二叉树所有的特性。同时红黑树更是一颗自平衡的排序二叉树。我们知道一颗基本的二叉树他们都需要满足一个基本性质--即树中的任何节点的值大于...