volatile:
Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。 这样当多个线程同时与某个对象交互时,就必须要注意到要让线程及时的得到共享成员变量的变化。 而volatile关键字就是提示VM:对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互。 使用建议:在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中,或者为常量时,不必使用。
由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低,因此一定在必要时才使用此关键字。
Synchronized:
防止多个线程同时访问相同的代码段。
Transient:
表明类序列化时,变量不必序列化。
分享到:
相关推荐
1. 多线程下载:项目采用了Java的多线程编程技术,将文件分成多个部分,每个线程负责下载其中的一部分。这样可以充分利用网络带宽,提高下载速度。 2. 断点续传:项目支持断点续传功能,即使在下载过程中出现意外...
在本章,我们将探讨Java程序的基本组件,并体会为什么说Java乃至Java程序内的一切都是对象。 2.1 用句柄操纵对象 2.2 必须创建所有对象: 创建句柄时,我们希望它同一个新对象连接。通常用new关键字达到这一目的。...
本章将对Java的多线程处理机制进行探讨,并介绍相关的语法。 <br>(15) 第15章 网络编程 开始编写网络应用时,就会发现所有Java特性和库仿佛早已串联到了一起。本章将探讨如何通过因特网通信,以及Java用以辅助...
java ...所有的分析和总结都在本人的博客上,希望和大家共同探讨,个人水平有限,有不对的地方还希望可以在评论区指正,感激不尽。 :pencil: 本人博客: 目录 数据类型 操作符 关键字 String 多态 容器
1.1.2更新[2008-04-03] 1,更改了精品网页的歌词搜索部分,因为精品网页的内容发生了改变,如果不更改对应的搜索方式的话 将不能从精品网页上查询到歌词,无论怎么样,都对精品网页表示感谢,它的网址是:...
九九乘法表源码java C 作为第二语言的第一个编程作业 这是一个教程式的作业,假设至少具备另一种编程语言(如 Java 或 Python)的基本知识。 特别是,它假定熟悉变量和数据类型,包括数组; 普通运营商; 条件和循环...
计算机程序设计语言发展史和对程序设计语言未来 的看法信息科学与工程通信一班比拉力江 买买提 20104055049 【摘要】 本文以自然辩证的观点探讨了汁算机语言的发展历程,运用自然辩证法的基本 理论、基本方法,系统...
但是,有一部分开发朋友,对 “this” 一知半解,下面我们就一起来探讨学习下javascript中 “this” 的具体含义吧! 二、This总结: This指针作用域: 1)、在全局执行环境中使用this,表示Global对象,在浏览器中...
对页面SCROLLING的CSS不能生效原因 .Net 中IE使用WinForm控件的使用心得。 动态加载用户控件的组件!(终结MasterPages技术) 在ASP.NET 1.1下实现模板化站点的新思路 在ASP.Net中两种利用CSS实现多界面的方法 用于...