
JDK源码
文章平均质量分 67
JavaWizard-M
我是一名Java程序员,对于编程技术有着执着的追求和无穷的热情。Code(代码)不仅仅是我的工作内容,更是我内心深处的灵魂伴侣。在我的世界里,Code是无所不能的,它不断地带领我探索未知、挑战极限,成就自己的同时也塑造了我的格局。如果你和我一样,对于编程技术充满激情和向往,那么请关注我的博客,我们一起分享技术、交流经验,成为彼此的知识益友。
展开
-
Guava:Java开发者的必备工具库
Guava是由Google开发的一个Java核心库,旨在为Java开发者提供高效、易用的工具集合。它包含了许多实用的功能和方法,能够简化开发过程,并增加代码的可读性和可维护性。本文将介绍Guava的一些重要特性和使用案例。Guava是一款功能强大的Java工具库,提供了丰富的功能和方法,能够简化开发过程,并提高代码的可读性和可维护性。无论是集合框架、函数式编程、字符串处理、缓存操作还是IO处理,Guava都提供了简洁而高效的解决方案。原创 2023-07-03 10:26:28 · 3878 阅读 · 0 评论 -
深入解析Java ConcurrentHashMap类的源码
ConcurrentHashMap是Java中的高并发容器,具有线程安全、高并发、高性能等特点。在本文中,我们将通过分析ConcurrentHashMap的数据结构、锁机制、LongAdder和computeIfAbsent方法的实现原理,来深入了解这一容器类。ConcurrentHashMap是一个高并发容器,其源码实现比较复杂,本文从数据结构、锁机制、并发度和性能、LongAdder和computeIfAbsent等方面进行分析。原创 2023-05-08 09:15:34 · 668 阅读 · 0 评论 -
Java集合之ArrayList扩容机制底层源码探究
**ArrayList底层源码探究扩容机制**先说结论:如果new一个ArrayList时是调用无参构造函数默认是一个空数组,当需要进行扩容时第一次先将ArrayList的容量扩大为102.容量不够时, 第二次进行扩容时就扩大至1.5倍如果new一个ArrayList时是调用有参构造函数,则需要指定容量大小,则初始容量大小就是指定大小当添加数据所需容量超过初始化时指定容量大小,就按照1.5倍进行扩容源码探究一、使用无参构造函数: //调用无参构造函数 Arra原创 2021-03-21 10:28:10 · 453 阅读 · 1 评论 -
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集合之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 评论 -
ArrayList源码分析——学习Java集合的必修课
Java中的ArrayList是开发者在日常使用中非常便利的一种数据结构,也是Java中最常用的数据结构之一。此文章将详细介绍ArrayList类的源码实现,包括ArrayList的数据结构、增删改查的操作实现、线程安全的实现、迭代器的实现,以及fail-fast机制。本文分析了 ArrayList 的数据结构、增删改查的操作实现、线程安全的实现、迭代器的实现,以及 fail-fast 机制。原创 2023-05-06 15:49:33 · 867 阅读 · 0 评论 -
Java中String类源码详解——探究它背后的秘密
Java中的String类是一个非常重要的数据类型,它在程序中经常被使用。但是,你是否真正了解过它的源码呢?在本文中,我们将一探String类的源码背后的秘密。String类是Java标准库中的一个类,它用于表示字符串,是一个不可变的字符序列。也就是说,一旦一个String对象被创建出来,它的值就不会再改变了。那么,String类是如何实现这种特性的呢?在String类的源码中,我们发现它是以final修饰的。这意味着它是一个不可继承的类,也就是说,它的方法都不能被子类重写。原创 2023-05-06 15:41:41 · 214 阅读 · 0 评论