you can declare an individual method as strictfp.
strictfp forces floating points (and any floating-point operations) to
adhere to the IEEE 754 standard.
With strictfp, you can predict how your floating points will behave regardless of the underlying platform the JVM is running on.
The downside is that if the underlying platform is capable of supporting greater precision, a strictfp method won't be able to take advantage of it.

restrictions using strictfp in an interface
The strictfp modifier can be used in an interface declaration. The effect of the strictfp modifier is to make all float or double expressions within the interface declaration be explicitly FP-strict.

strictfp interface MyInterface {
void method();
But a method declared in an interface must not be declared strictfp or native or synchronized, or a compile-time error occurs, because those keywords describe implementation properties rather than interface properties.

interface MyInterface {
strictfp void method(); //compiler error

However, a method declared in an interface may be implemented by a method that is declared strictfp or native or synchronized in a class that implements the interface.

1 comment: