并发王者课-青铜6:借花献佛-如何格式化Java内存工具JOL输出

2021-05-27
阅读 4 分钟
737
在前面的文章《一探究竟-如何从synchronized理解Java对象头中的锁》中,我们介绍并体验了JOL工具。虽然JOL很赞,但它的输出对我们不是很友好,如果不借助工具,我们很难直观理解其中的含义。

并发王者课-青铜5:一探究竟-如何从synchronized理解Java对象头中的锁

2021-05-27
阅读 6 分钟
777
在前面的文章《青铜4:synchronized用法初体验》中,我们已经提到锁的概念,并指出synchronized是锁机制的一种实现。可是,这么说未免太过抽象,你可能无法直观地理解锁究竟是什么?所以,本文会粗略地介绍synchronized背后的一些基本原理,让你对Java中的锁有个粗略但直观的印象。
封面图

并发王者课-青铜3:兴利除弊-如何理解多线程的安全问题

2021-05-24
阅读 3 分钟
1.2k
然而,不知你可曾想过,多线程虽然效率很高,但是它却有着你无法回避的并发问题。举个王者中常见的场景,双方10人同时进攻主宰,最后击败主宰的玩家才是真正的赢家,而且只能有一位。所以问题来了,假如这10位玩家代表10个线程,它们在并发访问同一个资源时,如何保证数据的安全性?总不至于,主宰只有一条命,可是却有...
封面图

并发王者课-青铜2:本来面目-如何简单认识Java中的线程

2021-05-20
阅读 4 分钟
1.4k
在前面的《兵分三路:如何创建多线程》文章中,我们已经通过Thread和Runnable直观地了解如何在Java中创建一个线程,相信你已经有了一定的体感。在本篇文章中,我们将基于前面的示例代码,对线程做些必要的说明,以帮助你从更基础的层面认知线程,并为后续的学习打下基础。
封面图