摘要:
虚拟机是啥? 所谓虚拟机(Virtual Machine),就是一台虚拟的计算机它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。 大名鼎鼎的VMware就属于系统虚拟机,它们完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台。 程序虚拟机的典型 阅读全文
posted @ 2024-11-07 15:09
ayu0v0
阅读(42)
评论(0)
推荐(0)
摘要:
ThreadLocal叫做线程本地变量。 作用:每个线程往ThreadLocal中读写是线程隔离的,互相之间不会印象。 ThreadLocal为什么是线程安全的 ThreadLocal存储数据时实际上是存储在ThreadLocalMap中,而每个线程自己都有一个ThreadLocalMap,所以没有 阅读全文
posted @ 2024-11-07 14:43
ayu0v0
阅读(23)
评论(0)
推荐(0)
摘要:
ConcurrentHashMap 基本介绍 在JDK1.8中,它的数据结构:Node数组+链表/红黑树 初始化 /** * Initializes table, using the size recorded in sizeCtl. */ private final Node<K,V>[] ini 阅读全文
posted @ 2024-11-07 14:42
ayu0v0
阅读(29)
评论(0)
推荐(0)
摘要:
为何需要线程池? 首先,创建和销毁线程是比较耗时间的; 此次,创建线程也是需要内存空间的,如果无节制的创建,那么就会造成内存空间的不足; 最后,使用线程池也能提高响应时间,不用再向之前一定得先自己创建一个线程,然后再用它进行执行。 最重要的,线程池可以进行统一的分配,调优和监控。 线程池使用了享元模 阅读全文
posted @ 2024-11-07 14:42
ayu0v0
阅读(31)
评论(0)
推荐(0)
摘要:
书接上回,我们谈到了Unsafe类,那就不得不谈谈CAS了。 CAS 概述 CAS全称为Compare-And-Swap,对比交换。它是一条CPU原子指令,作用在于让CPU比较两个值是否相等,然后更新某个值。 CAS是靠硬件实现的。CAS操作是原子性的,所以多线程并发使用CAS更新数据时,可以不使用 阅读全文
posted @ 2024-11-07 14:10
ayu0v0
阅读(32)
评论(0)
推荐(0)
摘要:
在同步机制中,我们介绍了AQS与ReentrantLock。当然使用AQS进行同步的也不止ReentrantLock,所以我们接下来去看看其他用AQS做同步的类。 ReentrantReadWriteLock 概述 ReentrantReadWriteLock的读锁是共享锁,写锁是独占锁。 使用时, 阅读全文
posted @ 2024-11-07 14:10
ayu0v0
阅读(14)
评论(0)
推荐(0)
摘要:
书接上回,我们提到了线程安全问题,那么肯定需要相应的同步机制了。 Happens-Before原则 JMM为程序中所有的操作定义了一个偏序关系,称之为Happens-Before,如果想保证B线程看到A线程的操作结果,那么A与B之间要满足Happens-Before原则。 在Happens-Befo 阅读全文
posted @ 2024-11-07 14:08
ayu0v0
阅读(43)
评论(0)
推荐(0)
摘要:
为什么会有线程安全问题? 为什么会存在线程安全问题呢?那我们先来探究一下JMM(Java内存模型) 线程与JMM 每个线程都有自己的工作内存,它会存储主内存中变量的Copy值,再对变量进行操作的时候,也是操作工作内存中变量的Copy值。 当线程Dead(生命周期结束)时,才会将自己工作内存中的数据同 阅读全文
posted @ 2024-11-07 14:02
ayu0v0
阅读(13)
评论(0)
推荐(0)
摘要:
在同步机制中,我们介绍了AQS与ReentrantLock。当然使用AQS进行同步的也不止ReentrantLock,所以我们接下来去看看其他用AQS做同步的类。 ReentrantReadWriteLock 概述 ReentrantReadWriteLock的读锁是共享锁,写锁是独占锁。 使用时, 阅读全文
posted @ 2024-11-07 11:20
ayu0v0
阅读(10)
评论(0)
推荐(0)
摘要:
书接上回,我们谈到了Unsafe类,那就不得不谈谈CAS了。 CAS 概述 CAS全称为Compare-And-Swap,对比交换。它是一条CPU原子指令,作用在于让CPU比较两个值是否相等,然后更新某个值。 CAS是靠硬件实现的。CAS操作是原子性的,所以多线程并发使用CAS更新数据时,可以不使用 阅读全文
posted @ 2024-11-07 11:19
ayu0v0
阅读(24)
评论(0)
推荐(0)
摘要:
书接上回,我们提到了线程安全问题,那么肯定需要相应的同步机制了。 Happens-Before原则 JMM为程序中所有的操作定义了一个偏序关系,称之为Happens-Before,如果想保证B线程看到A线程的操作结果,那么A与B之间要满足Happens-Before原则。 在Happens-Befo 阅读全文
posted @ 2024-11-07 11:18
ayu0v0
阅读(28)
评论(0)
推荐(0)
摘要:
为什么会有线程安全问题? 为什么会存在线程安全问题呢?那我们先来探究一下JMM(Java内存模型) 线程与JMM 每个线程都有自己的工作内存,它会存储主内存中变量的Copy值,再对变量进行操作的时候,也是操作工作内存中变量的Copy值。 当线程Dead(生命周期结束)时,才会将自己工作内存中的数据同 阅读全文
posted @ 2024-11-07 11:09
ayu0v0
阅读(12)
评论(0)
推荐(0)

浙公网安备 33010602011771号