runxinzhi.com
首页
百度搜索
volatile-java关键字
volatile
的作用: 作为指令
关键字
,确保本条指令不会因
编译器
的优化而省略,且要求每次直接读值.
简单地说就是防止
编译器
对代码进行优化.比如如下程序:
XBYTE[2]=0x55;
XBYTE[2]=0x56;
XBYTE[2]=0x57;
XBYTE[2]=0x58;
对外部硬件而言,上述四条语句分别表示不同的操作,会产生四种不同的动作,但是
编译器
就不能像对待纯粹的程序那样对上述四条语句进行优化,只认为XBYTE[2]=0x58(即忽略前三条语句,只产生一条机器代码)。如果键入
volatile
,则编译器会逐一的进行编译并产生相应的机器代码
相关阅读:
java线程小结1
String和StringBuffer
java队列的实现
java栈的实现
java链表
this与super关键字总结
JVM内存杂记1
面试题18:删除链表节点
面试题17:打印从 1 到最大的 n 位数
面试题16:数值的整数次方
原文地址:https://www.cnblogs.com/chengJAVA/p/3297656.html
最新文章
MvcPager2.0 中分页初始化失败的问题
JQuery Uplodify上传附件(同一个页面多个uplodify控件解决方案)
使用 Knockout 扩展器扩展 observables
Knockout.js, Asp.Net MVC and Bootstrap 前端设计
vs2012 Nuget错误:“未能解析此远程名称api.nuget.org”
.net 添加Cookie的4种方法
禁用 BootStrap Modal 点击空白时自动关闭
jvm开篇-快速带你分清java内存结构,java内存模型,java对象模型和jvm内存结构!
经验 | 到现在才明白的自学技巧
原创 | jvm01、JVM内存结构
热门文章
快速带你分清java内存结构,java内存模型,java对象模型和jvm内存结构!
打算写一写jvm相关的文章了!今天先考查你几个易混淆的概念!
int和Integer的区别,什么是自动装箱和自动拆箱?
这次我们来看看equals()与hashCode(),你还记得他们吗?
==和equals的区别?你知道吗?
这一次我们来说说String和StringBuffer、StringBuilder的区别 !
这道关于String的面试题据说80%的人会答错!
kmp算法小结
equals和==的区别小结
java二叉排序树
Copyright © 2020-2023
润新知