Можете ли вы мне пояснить использование примитива float в Java?
Я понимаю, что преобразование значения float в double и наоборот может быть проблематичным. Я читал (довольно давно и не уверен, что это действительно правда с новыми JVM), что плавающая производительность намного хуже, чем двойная. И, конечно, поплавки имеют меньшую точность, чем двойную.
Я также помню, что когда я работал с AWT и Swing, у меня были некоторые проблемы с использованием float или double (например, с использованием Point2D.Float или Point2D.Double).
Итак, я вижу только 2 преимущества float над double:
-
Ему нужно всего 4 байта, а double - 8 байт
-
Модель памяти Java (JMM) гарантирует, что операция присваивания является атомарной с плавающими переменными, в то время как она не является атомарной с double.
Есть ли другие случаи, когда float лучше, чем double? Вы используете float в своих приложениях?