strictfp, volatile, transient关键词

原创 2006年06月13日 20:01:00

Key: strictfp

使用对象:类、方法

自Java2以来,Java语言增加了一个关键字strictfp,虽然这个关键字在大多数场合比较少用,但是还是有必要了解一下。

strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。

你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:

1. 合法的使用关键字strictfp

strictfp interface A {}

public strictfp class FpDemo1 {
    strictfp void f() {}
}

2. 错误的使用方法

interface A {
    strictfp void f();
}

public class FpDemo2 {
    strictfp FpDemo2() {}
}

一旦使用了关键字strictfp来声明某个类、接口或者方法时,那么在这个关键字所声明的范围内所有浮点运算都是精确的,符合IEEE-754规范的。例如一个类被声明为strictfp,那么该类中所有的方法都是strictfp的。

 

Keys: volatile

使用对象:字段

介绍:因为异步线程可以访问字段,所以有些优化操作是一定不能作用在字段上的。volatile有时

可以代替synchronized。

 

Keys:transient

  使用对象:字段

  介绍:字段不是对象持久状态的一部分,不应该把字段和对象一起串起。Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。

java 关键字: volatile、strictfp、transient

1. volatile 入门 (1). java中volatile关键字的含义 (2). 初学Java多线程:慎重使用volatile关键字 进阶 (1). Java 理...

Java关键字之native,strictfp,transient,volatile

转帖:http://www.iteye.com/topic/82640  Java关键字(keywords) abstract    default    if            private...

Java中的native,transient,volatile和strictfp关键字

Java中的native,transient,volatile和strictfp关键字 Java中的native,transient,volatile和strictfp关键字 博客分类:J...
  • gigipop
  • gigipop
  • 2012年04月06日 09:07
  • 203

Java中的transient,volatile和strictfp关键字

Java中的transient,volatile和strictfp关键字  转载来自:http://www.iteye.com/topic/52957     如果用transient声明一个实例...
  • fgh2009
  • fgh2009
  • 2011年12月05日 11:31
  • 374

Java中的transient,volatile和strictfp关键字

Java中的transient,volatile和strictfp关键字 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:Java代码class T {      tr...

transient,volatile和strictfp

Java中的transient,volatile和strictfp关键字     如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如: Java代码  ...

Java关键字之native,strictfp,transient,volatile (SCJP)

Java关键字之native,strictfp,transient,volatile (SCJP)
  • dingxy
  • dingxy
  • 2011年01月28日 09:33
  • 342

java中transient、volatile、strictfp关键字说明

1、transient,用于对象序列化。 transient是类型修饰符,只能用来修饰字段。在对象序列化的过程中,标记为transient的变量不会被序列化。 示例: class T...

【Java】关键词分析:transient、volatile、syncronized

transient:首先其只能修饰变量,而不能修饰方法。其主要作用是在把某个类序列化的时候,当该类的成员变量有transient修饰,则该变量不被序列化。 下面介绍的volatile与syncroni...

java 中不常见的关键字:strictfp,transient

1.strictfp, 即 strict float point (精确浮点)。   strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的fl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:strictfp, volatile, transient关键词
举报原因:
原因补充:

(最多只允许输入30个字)