首页 > TAG信息列表 > strictfp
java中不常见的关键字
(一)、transient关键字 transien表示短暂的 当一个成员变量被transient修饰后,在序列化该对象的时候这个变量不会被序列化。 (二)、strictfp关键字 strictfp表示严格的,精确的 strictfp可以用于修饰一个类、接口、方法;不能用于修饰接口的方法及构造函数。该关键字修饰的范围内,所有浮点运strictfp关键字
strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令人满意。而一旦使用了strictfp来声明一个类Java strictfp修饰符对现代CPU有影响吗?
根据JLS,我知道strictfp修饰符对方法(和类)的含义: JLS 8.4.3.5, strictfp methods: The effect of the strictfp modifier is to make all float or double expressions within the method body be explicitly FP-strict (§15.4). JLS 15.4 FP-strict expressions: WithinJava的%运算符是否会溢出?
在C和C中,根据Shafik’s post,INT_MIN%-1的行为似乎是未定义/平台相关的. 在Java中,%运算符是否会溢出? 考虑一下这段代码: public class Test { public static void main(String[] args) { // setup variables: byte b = Byte.MIN_VALUE % (-1); short s如果不使用strictfp,代码是否会变得不合规?
我们进行了第一次代码审计,有人告诉我,不使用strictfp进行浮点运算可能会让我们被标记.软件在Windows机器上编码并部署到Solaris机器以供生产使用.有关它的任何建议是真的吗? 另外,如果不使用’strictfp`可以使浮点算术代码不兼容或不可移植,为什么还要以非严格的方式进行计算呢? CER