¿Cuáles son las constantes de INFINITY en Java, realmente?

Hace poco me encontré con las constantes en las clases de tipo primitivo de envoltura comoDouble.POSITIVE_INFINITY yDouble.NEGATIVE_INFINITY. En la API, define el primero como:

Una constante manteniendo el infinito positivo de tipo doble. Es igual al valor devuelto por Double.longBitsToDouble (0x7ff0000000000000L).

Los otros tienen definiciones en esta misma línea.

Con lo que estoy teniendo problemas es con la comprensiónqué estas constantes son en realidad No pueden en realidadser orepresentar Infinitos positivos / negativos, porque el sistema es por naturaleza finito. ¿Es solo una configuración arbitraria de bits lo que los creadores de Java consideraron que definiría el concepto de infinito? ¿O estos realmente tienen algún tipo de valor especial? Si sees sólo una cadena de bits arbitraria interpretada como unadouble, entonces ¿hay algún número normal por ahí que, cuando se interpreta como undouble volveráPOSITIVE_INFINITY En lugar de cualquier valor que realmente se espera?

Perdóname si la respuesta a esto es obvia dada laDouble.longBitsToDouble(0x7ff0000000000000L) parte de la API. A decir verdad, esa descripción es bastante trágica para mí y no pretendo entender lo que realmente significan o representan los valores hexadecimales.

Respuestas a la pregunta(3)

Su respuesta a la pregunta