自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 JUC锁:核心类 AQS(AbstractQueuedSynchronizer)

JUC锁:核心类 AQS(AbstractQueuedSynchronizer)AQS是一个用于实现依赖FIFO等待队列的阻塞所和相关同步器的基类。有两个模式:exclusive(独占) 和share(共享) 子类可以实现其中的一种也可以两种都支持AQS 使用一个int成员变量表示同步状态,通过内置的FIFO队列来完成获取资源线程的排队工作。成员属性//等待队列的头部,延迟初始化。除初始化外,仅通过 setHead 方法进行修改。注意:如果 head 存在,则保证其 waitStatus 不是CA

2021-09-14 23:46:27 99

原创 JUC锁:LockSupport详解

JUC锁:LockSupport详解特点与Object 的 wait & notify 相比wait,notify 和 notifyAll必须配合Object Monitor(synchronized) 一起使用,park,unpark 不必。park & unpark 是以线程为单位来【阻塞】和【唤醒】线程,而notify 只能随机唤醒一个等待线程,notifyAll是唤醒所有等待线程park & unpark可以先unpark 而wait& notify 不

2021-09-14 23:45:56 93

原创 哈希表:无重复字符的最长子串

哈希表:无重复字符的最长子串题目链接: https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/题目难度:中等题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 31、暴力解法解法一:先找到所有不重复子串,再统计最长子串的长度,需要将这

2021-09-13 10:58:12 322

原创 CAS 、原子类 分析

原子类AtomicInteger属性//使用Unsafe 中的CAS 操作进行更新private static final Unsafe unsafe = Unsafe.getUnsafe();private static final long valueOffset;static { try { //属性value的偏移量 valueOffset = unsafe.objectFieldOffset (AtomicInteger.

2021-09-13 10:51:36 53

原创 ConcurrentHashMap

ConcurrentHashmap 源码分析1.8成员变量/** * The largest possible table capacity. This value must be * exactly 1<<30 to stay within Java array allocation and indexing * bounds for power of two table sizes, and is further required * because the top two b

2021-09-06 23:45:06 88

原创 Hashmap

HashMap 源码解读成员变量/** * The default initial capacity - MUST be a power of two. * 默认初始容量,必须是2的幂 */static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16/** * The maximum capacity, used if a higher value is implicitly specified * by eith

2021-09-05 20:01:00 59

原创 ArrayList

ArrayList 源码解读成员变量 /** * Default initial capacity. * 默认容器大小为 */ private static final int DEFAULT_CAPACITY = 10; /** * 创建一个空数组,长度为0 */ private static final Object[] EMPTY_ELEMENTDATA = {}; /** * 创建使用默认大小的空数组

2021-09-04 09:53:27 45

原创 LeetCode 26:删除有序数组中的重复项

LeetCode 26:删除有序数组中的重复项**题目链接:**https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/**题目难度:**简单**题目描述:**给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。1.暴力解法类似数组 [1,2,2,3,4] 的数

2021-08-10 17:15:12 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除