摘要: Volatitle: .volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 阅读全文
posted @ 2020-03-07 22:06 漫漫人生路322 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 线程安全解释: 我们之前给出了同步基本思想的三个点,我们也说了jvm的三种锁都是以基本思想为基础的,而这三种锁在第1、2点的实现上本质上是一样的: 在共享数据里保存一个锁 //java同步是通过synchronized关键字实现的,synchronized有三种用法:一种是同步块,这种用法需要指明一 阅读全文
posted @ 2020-03-07 22:04 漫漫人生路322 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1.程序计数器: 1.如果线程正在执行的是一个java方法,那么计数器记录的当前代码的行号,确定执行哪一条字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都会依赖这个计数器完成 2.如果执行的native方法,计数器当中的内容应当是空 3.此内存区域在java的虚拟机规范当中是唯一一个没有 阅读全文
posted @ 2020-03-07 22:01 漫漫人生路322 阅读(141) 评论(0) 推荐(0) 编辑