首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
java基础
樽酒435
创建于2021-11-01
订阅专栏
java基础
暂无订阅
共11篇文章
创建于2021-11-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
java volatile 关键字详解
「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」 1. 简介 volatile 关键字:当多个线程进行操作共享数据时,可以保证内存中的数据可见。 相较于 synchron
ConcurrentHashMap 中 put方法怎么保证线程安全(jdk1.8 源码分析)
1.前言 这部分主要讲解 put 方法中涉及到的一些定义 1.1 ForwardingNode ForwardingNode 是一种临时节点类,在 ConcurrentHashMap 扩容中才会出现,
HashMap 中 put() 方法详解
1.前言 本片文章主要讲一下hashMap 中的 put 方法,主要是用来向hashMap中放入元素的相关操作 2. 源码 2.1 putVal(int hash, K key, V value, b
HashMap 中 putTreeVal(HashMap<K,V> map, Node<K,V>[] tab,int h, K k, V v)方法详解
1. putTreeVal tieBreakOrder--2.3 moveRootToFront moveRootToFront 2. root() 3.comparableClassFor(k) 4
HashMap 中 balanceInsertion()方法详解
1.前言 这个方法的作用是:当红黑树中新插入一个节点时,需要对树的结构重新优化,以保证该树始终保持红黑树的特性。 红黑树的特性: 每个结点是黑色或者红色。 根结点是黑色。 每个叶子结点(NIL)是黑色
HashMap 中 treeify() 和 untreeify() 方法详解
1.前言 treeify() : 树化,即当桶中元素数量元素大于等于8时且 hash表的容量>= 64时。 untreeify : 取消树化,即桶中元素小于等于6时。 这里详细的变量定义我在前面 ja
HashMap 中 split(HashMap<K,V> map, Node<K,V>[] tab, int index, int bit) 方法详解
「这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战」 1. 前言 这个方法主要是处理,hashMap在扩容时,底层数组的元素是一个TreeNode的时候(即该元素下的节点树化
HashMap 中的 resize() 方法详解
1. 前言 我们平常使用HashMap 的时候 ,应该使用比较多的就是 put 和 get 方法,好学的小伙伴,点进去 put 方法的源码,会发现在某些情况下 它会调用 resize()。此外,我们还
java中Queue和Deque详解
「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战」 这里首先说一下 Deque 是一个接口 但它实现 Queue Queue和 Deque 共有方法 boolean add
java基础 --- Integer.bitCount( int i) 理解
「这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战」 1.作用 Integer.bitCount( int i) 这个方法是jdk自带的帮我们快速统计 i转成二进制补码后,其
java 基础 --- Integer.toHexString(int i)的理解
「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」java 基础 --- Integer.toHexString(int i)的理解