你真的会用volatile吗

2020-02-09
阅读 5 分钟
1.9k
volatile的概念 或者说,volatile解决什么问题? 我自己的总结:volatile解决多线程下变量访问的内存可见性问题,用于线程间通信。 通信怎能理解呢,线程A写一个volatile变量,随后线程B读这个volatile变量,这个过程实质上是线程A通过主内存向线程B发送消息。 java语言标准规范对volatile的描述是这样的: The Java pro...

如何打印GC日志排查问题

2020-01-14
阅读 3 分钟
2k
在工作当中,有时候我们会需要打印GC的相关信息来定位问题。该如何做呢? 先来看个示例, {代码...} 直接运行,结果如下, {代码...} 你应该觉得奇怪,同样的往一个list插入100万条数据,为啥第一个耗时比较久? 这种时候,有经验的工程师应该能马上怀疑是GC的问题,我们可以通过在运行时添加JVM参数来打印程序运行时的G...