栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java.lang.Math和java.lang.StrictMath有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java.lang.Math和java.lang.StrictMath有什么区别?

Math
该类的Javadoc
提供了有关两个类之间差异的一些信息:

与class的某些数字方法不同,class

StrictMath
的等效函数的所有实现
Math
未定义为返回逐位相同的结果。这种放松允许在不需要严格的可重复性的情况下实现性能更好的实现。

默认情况下,许多

Math
方法只是在
StrictMath
实现中调用等效方法
。鼓励代码生成器使用特定于平台的本机库或微处理器指令(如果可用),以提供方法的更高性能的实现
Math
。这种更高性能的实现仍必须符合的规范
Math

因此,

Math
该类列出了有关某些操作应该执行的一些规则,但是它们并不要求在所有库实现中都返回 完全相同的 结果。

这允许库的特定实现返回类似的结果,但是如果例如

Math.cos
调用该类,则不能返回完全相同的结果。这将允许特定于平台的实现(例如使用x86浮点和SPARC浮点),这些实现可能会返回不同的结果。

( 有关特定于平台的实现的示例,请参阅Wikipedia中Sine文章的“
软件实现”部分。)

但是,使用时

StrictMath
,不同实现返回的结果
必须 返回相同的结果。对于需要在不同平台上再现结果的情况,这将是理想的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495901.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号