Java并发编程知识总结——开篇词 这篇博客是开始总结Java并发的开篇,主要说下下面总结Java并发编程相关知识的思路、呈现出自己理解的Java并发知识的全景图,为后面Java并发知识总结的复习提供线索和记忆脉络。主要学习和借鉴的主要资料有:《极客时间》并发编程专栏、《Java并发实战》等。 Ja ...
分类:
编程语言 时间:
2019-04-12 00:41:31
阅读次数:
166
[Java并发编程实战]构建一个高效可复用缓存程序(含代码) ...
分类:
编程语言 时间:
2018-11-06 16:47:52
阅读次数:
168
https://www.yuntipub.com/pricing http://www.infoq.com/cn/ 《code》《编码》 《程序员的自我修养》 elk 日志分析 favoorr@gmail.com书名: JAVA大型网站性能调休 KVM性能调休 深入理解计算机原理 JAVA并发实战 ...
分类:
其他好文 时间:
2017-09-11 00:52:22
阅读次数:
350
4.1 设计线程安全的类 通过使用封装技术,可以使得在不对整个程序进行分析的情况下就可以判断一个类是否是线程安全的。 在设计线程安全类的过程中,需要包含以下三个基本要素:找出构成对象状态的所有变量;找出约束状态变量的不变性条件;建立对象状态的并发访问管理策略。 要分析对象的状态,首先从对象的域开始。 ...
分类:
编程语言 时间:
2017-09-09 16:26:48
阅读次数:
178
最近在看BrianGoetz的<<Java并发实战>>,这本书有两个版本,电子工业出版社的译本很糟糕,建议使用机械工业出版社出版出版的书籍.在看到第三四章的时候突然想到了多线程读写文件,同时遇到一些书中没有的问题1,如何保证组合对象的安全性?2,如何判断不变性的约束条件3,..
分类:
编程语言 时间:
2016-10-15 00:05:27
阅读次数:
275
Java多线程是Java开发中的基础内容,但是涉及到高并发就有很深的研究可做了。
最近看了下《Java并发实战》,发先有些地方,虽然可以理解,但是自己在应用中很难下手。
所以还是先回顾一下基础知识:
Java中的线程
线程的相关知识,了解操作系统的基本都能有所了解。
线程有5中状态,基本变化如图所示:
如何在Java代码中创建线程
...
分类:
其他好文 时间:
2016-07-19 10:44:19
阅读次数:
172
上篇博文(【Java并发编程实战】—–“J.U.C”:CyclicBarrier)LZ介绍了CyclicBarrier。CyclicBarrier所描述的是“允许一组线程互相等待,直到到达某个公共屏障点,才会进行后续任务”。而CountDownlatch和它也有一点点相似之处:CountDownlatch所描述的是“在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待”。在JDK ...
分类:
编程语言 时间:
2015-11-12 10:05:29
阅读次数:
284
在上篇博客(【Java并发编程实战】—–“J.U.C”:Semaphore)中,LZ介绍了Semaphore,下面LZ介绍CyclicBarrier。在JDK API中是这么介绍的:一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为...
分类:
编程语言 时间:
2015-11-04 13:17:45
阅读次数:
222
ReentrantLock实现了标准的互斥操作,也就是说在某一时刻只有有一个线程持有锁。ReentrantLock采用这种独占的保守锁直接,在一定程度上减低了吞吐量。在这种情况下任何的“读/读”、“读/写”、“写/写”操作都不能同时发生。然而在实际的场景中我们就会遇到这种情况:有些资源并发的访问中,它大部分时间都是执行读操作,写操作比较少,但是读操作并不影响数据的一致性,如果在进行读操作时采用独占...
分类:
编程语言 时间:
2015-10-31 13:07:52
阅读次数:
305
信号量Semaphore是一个控制访问多个共享资源的计数器,它本质上是一个“共享锁”。Java并发提供了两种加锁模式:共享锁和独占锁。前面LZ介绍的ReentrantLock就是独占锁。对于独占锁而言,它每次只能有一个线程持有,而共享锁则不同,它允许多个线程并行持有锁,并发访问共享资源。独占锁它所采用的是一种悲观的加锁策略, 对于写而言为了避免冲突独占是必须的,但是对于读就没有必要了,因为它不会...
分类:
编程语言 时间:
2015-09-22 10:21:43
阅读次数:
255