volatile是如何保证可见性的?
volatile是如何禁止重排序的?
volatile的实现原理?
volatile的缺陷?
分类:
编程语言 时间:
2019-05-20 00:55:12
阅读次数:
146
硬件内存架构? Java内存模型? 内存间交互的操作有哪些? 原子性、可见性、有序性? 先行发生原则有哪些? ...
分类:
编程语言 时间:
2019-05-18 10:04:57
阅读次数:
134
java中的同步器是指什么?
哪些类是使用AQS实现的?
分布式环境中怎么实现同步?
分类:
编程语言 时间:
2019-05-14 23:11:06
阅读次数:
207
同步容器和并发容器 先解释一下概念,说下自己的理解: 同步和异步:同步就是串行,两个操作要串行先后一起完成后面的操作要等前面的完成并返回结果才能往下走,而异步则后面的操作可以不用等前面的操作是否完成就能执行自己的操作 阻塞和非阻塞:阻塞就是加锁,某一线程拿到锁之后其他线程就只能等待,非阻塞就是不加锁 ...
分类:
编程语言 时间:
2019-04-08 13:45:46
阅读次数:
184
一、Java同步容器 同步容器是用来解决并发情况下的容器线程安全问题的。给多线程环境准备一个线程安全的容器对象。 线程安全的容器对象: Vector, Hashtable。线程安全容器对象,都是使用synchronized方法实现的。 concurrent包中的同步容器,大多数是使用系统底层技术实现 ...
分类:
编程语言 时间:
2019-04-03 14:01:44
阅读次数:
179
前言 比起ArrayBlockingQueue,LinkedBlockingQueue应该是最被大家常用的阻塞队列,LinkedBlockingQueue是基于链表的一种可选容量的阻塞队列,也就是说,在构造LinkedBlockingQueue实例的时候,你可以像ArrayBlockingQueue ...
分类:
数据库 时间:
2019-01-26 13:14:12
阅读次数:
185
上一篇博客 Android-Java-同步方法-synchronized,中讲解了普通方法加入synchronized修饰符,此synchronized的同步锁是this,还介绍方法的封装性,这篇博客就不讲方法的封装性了 先看一个 静态方法加入修饰符synchronized(案例) 执行结果: 静态 ...
分类:
移动开发 时间:
2019-01-07 22:47:38
阅读次数:
278
《0》StringBuffer适用于多线程场景,StringBuilder适用于字符串拼接【堆栈封闭】 `Vector`实现`List`接口,底层和`ArrayList`类似,但是`Vector`中的方法都是使用`synchronized`修饰,即进行了同步的措施。 但是,`Vector`并不是线程 ...
分类:
编程语言 时间:
2018-12-14 15:40:25
阅读次数:
241
JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身的含意。跟C#里的Attributes似的。 Java并发编程中,用到了一些专门为并发编程准备的 Annotation。主要包括三类:1、类 Annotation(注解)就像名字一样,这些注解是针对类的。主有要以下三个:@Immutabl ...
分类:
编程语言 时间:
2018-12-13 11:24:36
阅读次数:
199
方案:synchronized,volatile+CAS(compareAndSet),atomic包,Lock接口 java同步和IO同步的对比: 都是同步异步的方案问题,一个操作的是java代码(实际是堆和方法区),一个操作的是TCP RecvBuffer而已 线程安全方案: https://w ...
分类:
编程语言 时间:
2018-11-10 15:08:59
阅读次数:
176