天道不一定酬所有勤
但是,天道只酬勤

并发编程

Java中线程池,你真的会用吗?

hollischuang阅读(544)评论(1)赞(16)

在《深入源码分析Java线程池的实现原理》这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。 在文中有这样一段描述: 可以通过Executors静态工厂构建线程池,但一般不建议这样使用。 关于这个问题,在那篇文章中并没有深入的...

再有人问你volatile是什么,把这篇文章也发给他。

hollischuang阅读(1991)评论(3)赞(2)

在上一篇文章中,我们围绕volatile关键字做了很多阐述,主要介绍了volatile的用法、原理以及特性。在上一篇文章中,我提到过:volatile只能保证可见性和有序性,无法保证原子性。关于这部分内容,有读者阅读之后表示还是不是很理解,...

内存模型是怎么解决缓存一致性问题的?

hollischuang阅读(1606)评论(0)赞(2)

在再有人问你Java内存模型是什么,就把这篇文章发给他这篇文章中,我们介绍过关于Java内存模型的来龙去脉。 我们在文章中提到过,由于CPU和主存的处理速度上存在一定差别,为了匹配这种差距,提升计算机能力,人们在CPU和主存之间增加了多层高...

Java的并发编程中的多线程问题到底是怎么回事儿?

hollischuang阅读(4203)评论(0)赞(1)

在我之前的一篇《再有人问你Java内存模型是什么,就把这篇文章发给他。》文章中,介绍了Java内存模型,通过这篇文章,大家应该都知道了Java内存模型的概念以及作用,这篇文章中谈到,在Java并发编程中,通常会遇到三个问题,即原子性问题、一...

深入理解多线程(三)—— Java的对象头

hollischuang阅读(7308)评论(0)赞(0)

上一篇文章中我们从HotSpot的源码入手,介绍了Java的对象模型。这一篇文章在上一篇文章的基础上再来介绍一下Java的对象头。主要介绍一下对象头的作用,结构以及他和锁的关系。 Java对象模型回顾与勘误 在上一篇文章中,关于对象头的部分...

深入理解多线程(二)—— Java的对象模型

hollischuang阅读(5957)评论(6)赞(1)

上一篇文章中简单介绍过synchronized关键字的方式,其中,同步代码块使用monitorenter和monitorexit两个指令实现,同步方法使用ACC_SYNCHRONIZED标记符实现。后面几篇文章会从JVM源码的角度更加深入,...

深入理解多线程(一)——Synchronized的实现原理

hollischuang阅读(6513)评论(0)赞(3)

synchronized,是Java中用于解决并发情况下数据同步访问的一个很重要的关键字。当我们想要保证一个共享资源在同一时间只会被一个线程访问到时,我们可以在代码中使用synchronized关键字对类或者对象加锁。那么,本文来介绍一下s...

HollisChuang's Blog

联系我关于我