参考链接: Java中的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的。

[转载] Java中的strictfp关键字相关推荐

  1. [转载] Java中的abstract关键字

    参考链接: Java中的abstract关键字 在Java中,一说到"抽象",肯定会想到abstract关键字,今天就来讲一下这个关键字. (1).在class前面添加abstra ...

  2. [转载] java中50个关键字以及各自用法大全

    参考链接: Java中的默认数组值 关键字和保留字的区别 正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的.Java的关键字对java的编译器有特殊的意 ...

  3. java中strictfp么意思_什么时候应该在java中使用“strictfp”关键字?

    Strictfp确保您从每个平台上的浮点计算获得完全相同的结果.如果不使用strictfp,JVM实现可以在可用的地方使用额外的精度. Within an FP-strict expression, ...

  4. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  5. [转载] Java中this和super关键字分别是什么意思

    参考链接: Java中的Super关键字 this和super关键字 this是自身的一个对象,代表对象本身可以理解为指代当前的对象,它可以调用当前对象的属性.方法和构造方法,一般情况下可以省略,必须 ...

  6. [转载] JAVA中transient 关键字

    参考链接: Java中的transient关键字 今天学习到对象流,序列化反序列化的时候,老师用了一个transient关键字来防止某个属性被序列化,脑子一头懵逼,于是在网上看到了找了别人的博客,也不 ...

  7. [转载] Java中final关键字

    参考链接: Java中的final关键字 文章目录 1 final关键字1.1 final修饰类1.2 final修饰方法1.3 final修饰属性---常量1.3.1 final修饰普通数据类型的成 ...

  8. 浅谈Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  9. 浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

最新文章

  1. MySQL数据库-操作基础
  2. OPA 3 - thirdParty Qunit.js and IFrame load logic
  3. gradle项目搭建
  4. 自己用嵌入式系统搭建云服务器,嵌入式服务器搭建
  5. c语言中规定,程序中各函数之间,C语言题库-函数_(参考).doc
  6. SpringCloud(二) 服务注册与发现Eureka
  7. 数据库mysql常用操作_mysql数据库常用操作
  8. java常用的日期类介绍
  9. 仿真技术为“工业 4.0”插上想象的翅膀
  10. 大规模分布式图学习框架Euler
  11. 集体智慧编程-源代码
  12. 特种作业操作电工作业2021年电力电缆考试题库
  13. SAP培训及ABAP学习入门必读
  14. 时频分析方法及其在发展性EEG数据中的应用
  15. 六子棋 java_六子棋——人工智能系统的设计与研究_Java
  16. java超市运行程序源代码_Java课程设计超市库存管理系统附源代码可以直接运行...
  17. 关于广告联盟的高价词问题
  18. Android 上 Https 双向通信— 深入理解KeyManager 和 TrustManagers
  19. 五.爬虫--京东登录破解(一)
  20. CCF认证 2018-09 卖菜

热门文章

  1. 【NOIP2012】【Luogu1075】质因数分解(模拟)
  2. 【NOIP2009】【codevs1174】靶形数独
  3. Win10 独立音量调整
  4. linux用cmake编译,CMake使用简介(forLinux)
  5. c语言中同级运算符的运算顺序,二 如何学习C语言的运算符和运算顺序
  6. c语言编译asn1文件,使用 asn1.c 开源编译工具生成 S1AP R15消息编解码C文件
  7. java setviewport_Java ImageView.setViewport方法代码示例
  8. jquery中的html代码、文本以及值
  9. [leetcode] 96. 不同的二叉搜索树 +[补充] 不同的二叉树,不同形态的二叉树的个数----catalan数
  10. 2017 Multi-University Training Contest - Team 4:1003. Counting Divisors(积性函数)