
Java集合
文章平均质量分 57
JavaWizard-M
我是一名Java程序员,对于编程技术有着执着的追求和无穷的热情。Code(代码)不仅仅是我的工作内容,更是我内心深处的灵魂伴侣。在我的世界里,Code是无所不能的,它不断地带领我探索未知、挑战极限,成就自己的同时也塑造了我的格局。如果你和我一样,对于编程技术充满激情和向往,那么请关注我的博客,我们一起分享技术、交流经验,成为彼此的知识益友。
展开
-
Java并发编程:Copy-On-Write机制详解
在多线程并发访问共享数据时,可能会出现并发问题导致程序崩溃、数据异常等情况。为了避免这些问题,Java中提供了多种并发控制方法,其中Copy-On-Write(COW)机制就是一种常用的技术。本文将详细介绍COW机制的概念、如何保证线程安全、相对于锁机制的优势,并且介绍CopyOnWriteArrayList集合的原理。Copy-On-Write机制,顾名思义,就是在写入数据时进行复制,从而保证原始数据不受修改的影响。在Java中,它被广泛应用于各类集合类的实现。原创 2023-05-02 22:29:05 · 2065 阅读 · 2 评论 -
java集合之HashMap底层源码扩容机制探究
设置断点跟入,首先进入构造函数如下:初始化后的hashMap如下:添加数据进行第一次扩容:putVal()方法需要hash值,以下是根据key计算hash值的函数下面来介绍putVal函数,给出源码:final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V>原创 2021-04-15 21:32:07 · 424 阅读 · 2 评论 -
Java集合之LinkedList底层源码探究及常用方法介绍
Java集合之LinkedList底层源码探究及常用方法介绍LinkedList底层数据结构是使用双向链表实现首先来看下LinkedList类调用无参构造函数初始化,再使用add方法进行添加元素,在底层是如何实现的测试代码:package com.collection.list.LinkedList;import java.util.LinkedList;public class MyLinkedList { public static void main(String[] args原创 2021-03-23 16:33:44 · 376 阅读 · 0 评论 -
Java集合之ArrayList扩容机制底层源码探究
**ArrayList底层源码探究扩容机制**先说结论:如果new一个ArrayList时是调用无参构造函数默认是一个空数组,当需要进行扩容时第一次先将ArrayList的容量扩大为102.容量不够时, 第二次进行扩容时就扩大至1.5倍如果new一个ArrayList时是调用有参构造函数,则需要指定容量大小,则初始容量大小就是指定大小当添加数据所需容量超过初始化时指定容量大小,就按照1.5倍进行扩容源码探究一、使用无参构造函数: //调用无参构造函数 Arra原创 2021-03-21 10:28:10 · 453 阅读 · 1 评论