1 AQS state AQS 的关键 CAS Compare And Swap 修改 state Unsafe 使用 LockSupport 的 park()、unpark() 挂起和唤醒线程 同步队列 sync queue 条件队列 condition queue 等待队列 还有什么阻塞队列,看 ...
分类:
其他好文 时间:
2020-11-04 17:34:20
阅读次数:
14
包含基本用例模型 一.简介 包含模式的基本用例模型创建元素和一个用例图,描述用户角色希望从系统中实现的目标。 用例都包含在系统边界内,参与者都位于边界之外。 Include关系提供了一种机制,用于重用Actor系统交互的部分,有效地节省了详细说明用例的时间。 二.目的即使用方法 目的是让业务分析师和 ...
分类:
其他好文 时间:
2020-11-02 10:13:38
阅读次数:
27
系统角色的基本用例模型 一.简介 带有System Actor模式的基本用例模型创建元素和用例图,描述用户角色希望从系统实现的目标。 用例都包含在系统边界内,参与者都位于边界之外。 Include关系提供了一种机制,用于重用Actor系统交互的部分,有效地节省了详细说明用例的时间。 二.目的即使用方 ...
分类:
其他好文 时间:
2020-11-02 10:11:48
阅读次数:
24
乐观锁的一种实现方式——CAS在深入理解乐观锁与悲观锁一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。线程安全众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程
分类:
其他好文 时间:
2020-11-01 21:55:04
阅读次数:
19
乐观锁的一种实现方式——CAS在深入理解乐观锁与悲观锁一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。线程安全众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程
分类:
其他好文 时间:
2020-11-01 11:07:17
阅读次数:
21
maven 将runtime注释掉,不然会报错找不到我们要用的PGObject类 <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> runtime--> </dependency> s ...
分类:
数据库 时间:
2020-11-01 09:54:59
阅读次数:
20
多线程在面试中基本上已经是必问项了,面试官通常会从简单的问题开始发问,然后再一步一步的挖掘你的知识面。
比如,从线程是什么开始,线程和进程的区别,创建线程有几种方式,线程有几种状态,等等。
接下来自然就会引出线程池,Lock,Synchronized,JUC的各种并发包。然后就会引出 AQS、CAS、JMM、JVM等偏底层原理,一环扣一环。
这一节我们不聊其他的,只说创建线程有几种方式。
是不是感觉非常简单,不就是那个啥啥那几种么。
其实不然,只有我们给面试官解释清楚了,并加上我们自己的理解,才能在面试中加分。
分类:
编程语言 时间:
2020-10-31 01:27:12
阅读次数:
74
多线程在面试中基本上已经是必问项了,面试官通常会从简单的问题开始发问,然后再一步一步的挖掘你的知识面。
比如,从线程是什么开始,线程和进程的区别,创建线程有几种方式,线程有几种状态,等等。
接下来自然就会引出线程池,Lock,Synchronized,JUC的各种并发包。然后就会引出 AQS、CAS、JMM、JVM等偏底层原理,一环扣一环。
这一节我们不聊其他的,只说创建线程有几种方式。
是不是感觉非常简单,不就是那个啥啥那几种么。
其实不然,只有我们给面试官解释清楚了,并加上我们自己的理解,才能在面试中加分。
分类:
编程语言 时间:
2020-10-31 01:26:55
阅读次数:
15
drawcall和batch的概念和区别可以结合冯乐乐书的前端章节和以下i链接达到透彻的理解 正如链接中所讲,batch是比drawcall所指范围更广的概念,包含了drawcall https://blog.csdn.net/Wei_Yuan_2012/article/details/886771 ...
分类:
其他好文 时间:
2020-10-30 11:34:39
阅读次数:
22
1.前言在Java中一提到随机数,很多人就会想到Random类,如果有生成随机数的需求的时候,大多数时候都会选择使用Random来进行随机数生成,虽然其内部使用CAS来实现,但是在多线程并发的情况下的时候它的表现并不是很好。在JDK1.7之后,JDK提供了提供了更好的解决方案,接下来让我们一起学习下到底为什么Random会慢?又是怎么解决的呢?2.RandomRandom这个类是JDK提供的用来生
分类:
编程语言 时间:
2020-10-29 10:47:54
阅读次数:
47