¿Por qué un progtwigdor de Java debería preocuparse por el error del año 2038?

El año 2038 es un error en toda la web, pero parece ser un problema de Unix. ¿Cómo afectará esto a Java Date?

¿Qué te hace pensar que lo hace? La clase de Date de Java almacena una long 64 bits (no de 32 bits, como con Y2K38). También almacena milisegundos, lo que disminuye el rango, pero solo ligeramente (equivalente a ~ 10 bits).

En Java, tenemos el año 292278994 bug.

No creo que afecte a la clase Java Date en lo que concierne al progtwigdor. Ya está utilizando valores de 64 bits. Puedo ver que es un problema si está utilizando un almacén de datos que todavía utiliza valores de 32 bits. No espero ver demasiados sistemas operativos de 32 bits en 27 años.

Java y los tiempos no están restringidos solo a la clase Fecha.

¿De dónde vienen las fechas / horarios a menudo? A menudo, desde System.currentTimeMillis, que es un método nativo . Normalmente no está implementado en Java. El tipo de retorno es largo, pero eso significa poco, ya que el método nativo puede devolver cualquier valor que simplemente encaje en un valor largo.

Todo dependerá del sistema operativo y su implementación del JRE.

Confiar en la presencia de sistemas de 64 bits puede ser ingenuo, ya que aparentemente hay muchos sistemas integrados que son de 32 bits, y continuarán siendo.

En general, Java está expuesta a la cuestión 2038.

Probablemente sea un remanente de los antiguos días C cuando los datos de fecha se acumularon en 2038. Podría ser un problema con algunas aplicaciones realmente antiguas , pero no para Java. Bostezo.

Esto no es realmente una respuesta. Pero algunas publicaciones lo han hecho bien. Java es compatible con 2038, pero no cumple con 10000 (si pones un largo en el constructor de Date que representa algo después de 9999, no funcionará y devolverá un número extraño), pero sí, 2147483648 definitivamente no es el valor máximo permitido en la Fecha de Java clase.

Intereting Posts