自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java多线程七——关键字volatile

Java 中 volatile 关键字是一个类型修饰符,主要作用是使变量在多个线程间可见。JDK 1.5 之后,对其语义进行了增强保证可见性(缓存一致性协议MESI):保证了不同线程对共享变量进行操作时的可见性,即一个线程修改了共享变量的值,共享变量修改后的值对其他线程立即可见;保证有序性(禁止指令重排优化):通过禁止编译器、CPU 指令重排序和部分 happens-before 规则,解决有序性问题,避免了指令重排。不能保证原子性(volatile++非原子性)。

2024-10-11 17:32:18 961

原创 Java多线程六——Condition详解

任意一个Java对象,都拥有一组监视器方法(定义在java.lang.Object上),主要包括 wait()、wait(long timeout)、notify() 以及 notifyAll() 方法,这些方法与 synchronized 同步关键字配合,可以实现。Condition接口也提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式,但是这两者在使用方式以及功能特性上还是有差别的。——摘自《Java并发编程的艺术》

2024-10-10 17:07:29 889

原创 Java多线程五——深入理解AQS实现原理

翻译过来就是抽象队列同步器。AQS是一个用来构建锁和其他同步组件的基础框架,使用AQS可以简单且高效地构造出应用广泛的同步器,例如我们后续会讲到的。

2024-07-16 14:52:38 869

原创 CPU高速缓存与JMM

在 Java 语言里面,Happens-Before 的语义本质上是一种可见性,A Happens-Before B 意味着 A 事件对 B 事件来说是可见的,无论 A 事件和 B 事件是否发生在同一个线程里。例如 A 事件发生在线程 1 上,B 事件发生在线程 2 上,Happens-Before 规则保证线程 2 上也能看到 A 事件的发生。JMM的设计分为两部分,一部分是面向我们程序员提供的。

2024-07-05 16:16:27 793

原创 用户态与内核态

系统调度分配资源的最小或基本单位。资源分配:操作系统通过进程来管理内存、CPU、I/O等资源。任务调度:操作系统根据进程的状态和优先级,决定哪个进程应该获得CPU时间。系统内核中 进程 就是一段记录专有资源和状态的task_struct 结构体,就是一个数据结构或者理解为一个存储资源信息的对象。标识符:与进程相关的唯一标识符。状态:描述进程的状态(新建、就绪、运行、阻塞、终止、睡眠、挂起、僵尸、等待)。优先级:多个进程执行的先后顺序。程序计数器:与进程页表相关的计数器。内存指针。

2024-07-03 17:12:10 1792

原创 Java多线程四——synchronized原理

从c++源码层面详细分析 synchronized 的底层原理

2024-06-27 10:30:18 1210

原创 Java多线程三——偏向锁/轻量级锁/重量级锁详解

详细介绍了偏向锁/轻量级锁/重量级锁的加锁和解锁过程,以及偏向锁——>轻量级锁——>重量级锁的锁膨胀过程

2024-06-26 17:30:44 1404

原创 Java多线程二——Java锁分类

基于Java程序实现的一种。

2024-06-21 22:12:28 845

原创 Java多线程一——Java多线程基础知识

进程:系统调度分配资源的最小或基本单位。系统内核中 进程 就是一段记录专有资源和状态的 task_struct 结构体,就是一个数据结构或者理解为一个存储资源信息的对象。其存储的信息主要包括:这个 task_struct 结构体有个专门的名字:PCB --> PROCESS control block,也叫进程控制块。PCB 数据保存在操作系统4G内存虚拟地址中的内核态中,也就是 3-4G 内存这一段内,显然用户态时是无法访问的,想要访问就必须从用户态切换到内核态。线程:进程的执行单元,是CPU调度和分派的

2024-06-21 16:49:30 922

空空如也

空空如也

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

TA关注的人

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