Java语言中关键字strictfp的用途

原创 2005年03月22日 12:02:00

自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的。

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

1.strictfp, 即 strict float point (精确浮点)。   strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的fl...
  • basenet855x
  • basenet855x
  • 2011年08月16日 11:09
  • 19901

细节决定成败,浅析一些容易被忽视的Java关键字

一、default关键字 default关键字,并不是访问修饰符中的default(默认的访问权限,不加public、private、protected访问修饰符的情况自动使用,同一包下的类可以访问...
  • zhangliangzi
  • zhangliangzi
  • 2016年08月28日 22:38
  • 858

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

  • lihui6636
  • lihui6636
  • 2014年05月28日 08:42
  • 726

Java关键字-strictfp

简介自Java2以来,Java语言增加了一个关键字strictfp,即 strict float point (精确浮点)。strictfp 关键字可应用于类、接口或方法。使用 strictfp 关键...
  • zmken497300
  • zmken497300
  • 2016年07月08日 08:37
  • 171

strictfp,与“移植”有染,与“精确”无关

作者:fbysssmsn:jameslastchina@hotmail.com  blog:blog.csdn.net/fbysss声明:本文由fbysss原创,转载请注明出处关键字:java str...
  • fbysss
  • fbysss
  • 2010年01月13日 18:25
  • 1939

Java中的transient,volatile和strictfp关键字

Java中的transient,volatile和strictfp关键字      如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:  Java代码   ...
  • u014039577
  • u014039577
  • 2015年09月17日 16:31
  • 493

Java基础 --- 解析jar包

package com.download;import java.io.File; import java.io.FileOutputStream; import java.io.IOExceptio...
  • miracle_8
  • miracle_8
  • 2018年01月23日 14:20
  • 45

jrockit R28参数说明列表2

2 -X Command-Line Options This chapter is an alphabetically ordered reference for all the -X comman...
  • chenyi8888
  • chenyi8888
  • 2012年11月27日 15:59
  • 2168

Java strictfp关键字

保证浮点运算的结果不受平台的影响,在任何平台上,使用统一的标准进行浮点运算,提高程序的可移植性(毕竟结果更可控,更精确),相应的,以降低性能为代价...
  • a19881029
  • a19881029
  • 2013年11月26日 10:31
  • 2061

Java关键字之native,strict fp,transient,volatile

Java关键字之native,strict fp,transient,volatile 博客分类:  JAVA FPJavaJ#FortranC Java代码 ...
  • chruan
  • chruan
  • 2012年10月22日 16:44
  • 908
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java语言中关键字strictfp的用途
举报原因:
原因补充:

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