一、前言 最近在研究java.util.concurrent包下的一些的常用类,之前写了AQS、ReentrantLock、ArrayBlockingQueue以及LinkedBlockingQueue的相关博客,今天这篇博客就来写一写并发包下的另一个常用类——CountDownLatch ...
一 前言 这篇博客来分析一下ThreadLocal的实现原理以及常见问题,由于现在时间比较晚了,我就不废话了,直接进入正题。 二 正文 . ThreadLocal是什么 在讲实现原理之前,我先来简单的说一说ThreadLocal是什么。ThreadLocal被称作线程局部变量,当我们定义了一个ThreadLocal变量,所有的线程共同使用这个变量,但是对于每一个线程来说,实际操作的值是互相独立的。 ...
2020-04-16 16:38 0 2017 推荐指数:
一、前言 最近在研究java.util.concurrent包下的一些的常用类,之前写了AQS、ReentrantLock、ArrayBlockingQueue以及LinkedBlockingQueue的相关博客,今天这篇博客就来写一写并发包下的另一个常用类——CountDownLatch ...
通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它 ...
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线 ...
通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则 ...
简单解释一下J.U.C,是JDK中提供的并发工具包, java.util.concurrent。里面提供了很多并发编程中很常用的实用工具类,比如atomic原子操作、比如lock同步锁、fork/join等。 从Lock作为切入点 我想以lock作为切入点来讲解AQS,毕竟同步锁是解决 ...
,我们将围绕三个方面来分析 ThreadLocal 内存泄漏的问题 ThreadLocal 实 ...
写在前面 ThreadLocal 基本用法本文就不介绍了,如果有不知道的小伙伴可以先了解一下,本文只研究 ThreadLocal 内存泄漏这一问题。 ThreadLocal 会发生内存泄漏吗? 先给出结论:如果你使用不当是有可能发生内存泄露的 ThreadLocal 和 当前 ...
HashMap 可以说是使用频率最高的处理键值映射的数据结构,它不保证插入顺序,允许插入 null 的键和值。本文采用 JDK8 中的源码,深入分析 HashMap 的原理、实现和优化。首发于微信公众号顿悟源码. 1. 基本结构 HashMap 基于散列表实现,使用拉链法处理碰撞,在 JDK8 ...