Java
文章平均质量分 87
wu-yy
这个作者很懒,什么都没留下…
展开
-
Java 位运算详解
目录一、Java中支持的位运算二、位运算规则三、逻辑运算(一)、与运算(&) 一、运算规则 二、运算流程(二)、或运算(|) 一、运算规则 二、运算流程(三)、异或运算(^) 一、运算规则 二、运算流程(四)、取反运算(~) 一、运算规则 二、运算规则四、位移操作 (一)、左移(<<) (二)、右移(>>) (三)、无符号右移(>>>)一、Java中支.原创 2022-02-18 12:12:16 · 26645 阅读 · 20 评论 -
java基础系列之ConcurrentHashMap源码分析(基于jdk1.8)
1、前提 在阅读这篇博客之前,希望你对HashMap已经是有所理解的,否则可以参考这篇博客:jdk1.8源码分析-hashMap;另外你对java的cas操作也是有一定了解的,因为在这个类中大量使用到了cas相关的操作来保证线程安全的。 2、概述 ConcurrentHashMap这个类在java.lang.current包中,这个包中的类都是线程安全的。ConcurrentHashMap底层存储数据的结构与1.8的HashMap是一样的,都是数组+链表(或红黑树)的结构。在日常的开.原创 2021-04-07 00:13:15 · 252 阅读 · 0 评论 -
深入理解Java 栈数据结构
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 从上图是基于数组实现的栈,可以看到,对栈的操作(压栈、出栈)其实都是对栈顶元素的操作,因此压栈和出栈的速度都比较快。栈中元素按照FILO顺序排序的,即先入后出的规则,先放进去的元素最原创 2021-04-06 23:11:48 · 463 阅读 · 0 评论