Для чего нужен данный модификатор? И с чем его можно использовать?
strictfp - это модификатор, введенный в java 1.2, ограничивающий точность вычислений с float и double по стандарту IEEE. Для чего это нужно? Чтобы обеспечить переносимость. Дело в том, что JVM использует всю возможную точность процессора, а она на разных системах разная, поэтому и результат может получиться разный.Данный модификатор используется в программах требующих точность вычислений превышающих IEEE (обычно, что-нибудь связное с наукой).
strictfp class StrictFPClass {
double num1 = 10e+102;
double num2 = 6e+08;
double calculate() {
return num1 + num2;
}
}
strictfp interface StrictFPInterface {
double calculate();
strictfp double compute(); // compile error
}
class StrictFPMethod {
strictfp double computeTotal(double x, double y) {
return x + y;
}
}
В классе он обозначает, что все методы будут на всех системах возвращать вещественные числа с одинаковой точностью. 0.112 и 0.113 Если эти числа сравнивать с точность до сотых, то они будут одинаковы. Пример, как точность влияет на вычисления. Его можно не использовать т.к. почти все компиляторы современные уже его за нас подставляют (где-то читал такое в мануале) Дополнил.
Модификатор strictfp
применяется к классам, интерфейсам и методам, и гарантирует соответствие всех операций на числах с плавающей точкой стандарту IEEE 754.
При использовании данного модификатора Вы получите одинаковое поведение в ходе манипуляций с числами с плавающей точкой на всех платформах.
Так же про FP-strict можно почитать в JLS.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Не получается добавить запись в таблицуЕще не работает удаление
Цель состоит в том, чтобы передать изображение в формате BufferedImage по сетиСервер и клиент уже созданы, строку передают, а как передать изображение?