一、前言 长久以来,一直想剖析一下Java线程安全的本质,但是苦于有些微观的点想不明白,便搁置了下来,前段时间慢慢想明白了,便把所有的点串联起来,趁着思路清晰,整理成这样一…
分类:JUC
Java多线程:公平锁和非公平锁,Java多线程系列--“JUC锁”03之 公平锁(一)
前言 在Java并发中,锁的种类有很多种,今天我们介绍其中一个分类:公平锁和非公平锁。 公平锁:顾名思义,对每个线程来说他们获取线程的方式是公平的,每个线程必须等到前面的线程执行完或者前面的线程取消或中断的时候,才轮到它…
每天学会一点点(JAVA基础)
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可…
详解Java多线程编程中LockSupport类的线程阻塞用法
LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语。LockSupport实际上是调用了Unsafe类里的函数,归结到Unsafe里,只有两个函数: [java] view…
转 : 深入解析Java锁机制
深入解析Java锁机制 https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw%3D%3D&mid=2247485524&idx=1&sn=28…
Java检测死锁之ThreadMXBean
public static void main(String[] args) { ThreadMXBean mbean = ManagementFactory.getThreadMXBean(); // 只能检测 syn…
Java提高班(三)并发中的线程同步与锁
乐观锁、悲观锁、公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁膨胀…难理解?不存的!来,话不多说,带你飙车。 上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问…
Java并发(十一):Condition条件,Java多线程系列--“JUC锁”06之 Condition条件
先做总结: 1、为什么使用Condition条件? synchronized配合Object的wait()、notify()系列方法可以实现等待/通知模式。 Lock提供了条件Condition,对线程的等待、唤醒操作更…
JAVA并发之AQS概述
一、前言 自从看了《java并发编程实战后》,被用来构建锁以及同步工具的框架AQS在我心中是一个很厉害的东西,juc包下的很多工具类都是依靠AQS实现的,比如CountDownLatch、Reentra…
Java 多线程
多线程模拟并发 @Test public void test1() throws InterruptedException { final CountDownLatch latch= new CountDow…
java多线程系列12 ConcurrentHashMap CopyOnWriteArrayList 简介
我们知道 ,hashmap 和 arraylist 是线程不安全的 在多线程环境下有数据安全问题, 当然 我们可以通过Collections的一些方法把他们变成线程安全的,  …
Java多线程基础知识(四)
一. Condition 接口 1. Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式。 但是这两者在使用方式以及功能特性上还是有差别的。 2.&nb…