非最终字段上的同步机制,有哪些深入思考点?

2026-05-26 02:420阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1043个文字,预计阅读时间需要5分钟。

非最终字段上的同步机制,有哪些深入思考点?

一、场景:在程序中使用synchronized关键字

二、环境:- 软件:IntelliJ IDEA- 版本:2019.1- JDK:1.8

三、原因:从提示来看,可能是因为使用了synchronized关键字,导致IDEA检测到同步代码块,从而在右侧出现黄色警告条。

一、场景

程序里面使用了​​synchronized​​​关键字,​​IntelliJ IDEA​​右边出现了黄色条,移动到上面,提示如下:

二、环境

软件

版本

JDK

1.8

IntelliJ IDEA

2019.1

三、原因

从提示来看,就是说,如果变量的引用发生了改变,就会导致​​synchronized​​​失效,然后其他线程就会进入原本没有结束的​​synchronized​​​代码块。所以要使用​​final​​来修饰变量,使引用不发生改变。

四、尝试

接下来让我们来验证一下,是否真的如提示所说。

阅读全文

本文共计1043个文字,预计阅读时间需要5分钟。

非最终字段上的同步机制,有哪些深入思考点?

一、场景:在程序中使用synchronized关键字

二、环境:- 软件:IntelliJ IDEA- 版本:2019.1- JDK:1.8

三、原因:从提示来看,可能是因为使用了synchronized关键字,导致IDEA检测到同步代码块,从而在右侧出现黄色警告条。

一、场景

程序里面使用了​​synchronized​​​关键字,​​IntelliJ IDEA​​右边出现了黄色条,移动到上面,提示如下:

二、环境

软件

版本

JDK

1.8

IntelliJ IDEA

2019.1

三、原因

从提示来看,就是说,如果变量的引用发生了改变,就会导致​​synchronized​​​失效,然后其他线程就会进入原本没有结束的​​synchronized​​​代码块。所以要使用​​final​​来修饰变量,使引用不发生改变。

四、尝试

接下来让我们来验证一下,是否真的如提示所说。

阅读全文