transient | strictfp | volatile是什么意思??? ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关于volatile 在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。 而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写 ,这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。 要解决这个问题,把该变量声明为volatile(不稳定的)即可,这就指示JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。一般说来,多任务环境下各任务间共享的标志都应该加volatile修饰。关于strictfp : 使用对象:类、方法 介绍:strictfp修饰的类中所有的方法都隐藏了strictfp修饰词,方法执行的所有浮点计算遵守 IEEE 754标准,所有取值包括中间的结果都必须表示为float或double类型,而不能利用由本地平台浮 点格式或硬件提供的额外精度或表示范围。关于transient:声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。楼主给分啊,呵呵!! jdbc修改数据库里面的内容怎么不成功呀,有没有给我报错 有关java语法的一个小细节疑惑 中文编码问题-在线等 关于线程interrupt方法的问题,请前辈指点。 关于ServletResponse的问题?急 偶是初学者,有个问题咨询一下(applet) 请问,在solaris下,如何使用Java获得当前目录可用的磁盘空间?? Rational Rose 请教:jni中 HelloWorldImp.c中的程序遵循什么语法? 有无连接池的检测、压力测试方面的工具和程序? 如何用POI生成excel时锁定其中某个cell不允许修改?? 如何获得本地所有的IP
这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。 要解决这个问题,把该变量声明为volatile(不稳定的)即可,这就指示JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。一般说来,多任务环境下各任务间共享的标志都应该加volatile修饰。关于strictfp :
使用对象:类、方法
介绍:strictfp修饰的类中所有的方法都隐藏了strictfp修饰词,方法执行的所有浮点计算遵守
IEEE 754标准,所有取值包括中间的结果都必须表示为float或double类型,而不能利用由本地平台浮
点格式或硬件提供的额外精度或表示范围。关于transient:
声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。楼主给分啊,呵呵!!