当前位置: 首页 > article >正文

Java语言中关键字strictfp的用途

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

strictfp, 即 strict float point (精确浮点)也就是说精确浮点的意思。在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的。

http://www.lryc.cn/news/2417383.html

相关文章:

  • 文件安全之只允许网站内打开,禁止单独打开下载
  • Kafka架构详解及安装部署
  • applet java_Java applet 类
  • 用 Python 图像识别打造一个小狗分类器
  • JAVA学习笔记24——Dubbo、zookeeper相关讲解及实战入门
  • 使用国际化资源文件ResourceBundle和反射手段,实现将配置文件properties信息映射到Java对象中
  • android开发入门
  • Recordset对象方法详解
  • 探索R Markdown Book:一个强大的文档创作与分享平台
  • HTML常用语法总结【精华】
  • 基于Spring Boot的网吧管理系统-计算机毕业设计源码03067
  • 推荐文章:bt2qbt —— 简化你的种子迁移之旅
  • tsql_TSQL的历史
  • Linux mlabel命令教程:如何给磁盘添加卷标(附案例详解和注意事项)
  • ABAP基础知识 复杂程序的性能优化
  • 1.23聚类算法(kmeans(初始随机选k,迭代收敛),DBSCAN(dij选点),MEANSHIFT(质心收敛),AGENS(最小生成树)),蚁群算法(参数理解、过程理解、伪代码、代码)
  • 【设计模式】备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  • linux内核register_chrdev_region()系列函数
  • eclipse中如何使用svn
  • 结构体sockaddr、sockaddr_in、sockaddr_in6之间的区别和联系
  • I3D模型_2017_CVPR
  • Framework3.5 最终文件下载及离线安装
  • OpenGL 入门(一)— 创建窗口
  • Matlab roundn()函数使用样例
  • iOS - 融云RTC功能梳理
  • 信息安全-网络安全测评技术与标准
  • 学习心得——析构函数
  • AutoIt3使用
  • Android 使用ExpandableListView实现三级列表
  • Java GUI三种常见的布局方式.FlowLayout,BorderLayout,GridLayout.教程