Se um Long permite armazenar números até 0x7fffffffffffffffL e a API Date retorna um long desde 1/1/1970 em qual data o campo Long irá travar ???
Eu vou mover isto para “off-topic”. De qualquer maneira, me dê um tempo que respondo.
EDIT - aham, não deu tempo, moveram de “Notícias” para “Java Básico”.
hahaha…eu abri em off-topis…colocaram em noticias e agora foi pra java básico… “ow loko meu”
Pensei em colocar em “Desafios”, mas não tinha esta seção… rsrsrs…
Faltou vc dizer que armazena em milesegundos desde 1970 ou EPOCH.
Long = 64 bits = 18446744073709551616
Só os positivos = 9223372036854775808 (divide por 2 aproximadamente)
Um ano ~ 365 x 24 x 60 x 60 x 1000 ~ 31536000000 ms
9223372036854775808 / 31536000000 ~ 292471208 anos
1970 + 292471208 = 292,473,178
Por volta do ano 292 milhões vai dar pau…
boaaaaaaaa…eu não saberia fazer essa conta…então vou crer na sua palavra…
Sun Aug 17 04:12:55 GMT-03:00 292278994
System.out.println(new Date(Long.MAX_VALUE));
[]'s
Homero
Acho que a espécie humana vai estar extinta nessa data.
O Java diz que vai ter problemas a partir do ano 292.278.994 depois de Cristo, ou seja, daqui a 292 milhões de anos. Como os insetos apareceram só há 400 milhões de anos atrás, e os dinossauros há 230 milhões de anos atrás, então provavelmente não estaremos por aqui quando começar a dar problemas.
import java.util.Date;
class TesteDate {
public static void main(String[] args) {
Date dt = new Date (0x7FFFFFFFFFFFFFFFL);
System.out.println (dt);
}
}
Saída:
Sun Aug 17 04:12:55 BRT 292278994
Ou com sorte teremos uma API de data melhorzinha nessa epoca, caso continuemos por aqui =)
[]'s
Homero
caraca e muito tempo hein…
precisava de uma API mais preparada…eu não conheço nada q ultrapasse esse valor…mas alguns cálculos de astronomia fazem isso fácil…
[quote=Homero Damico]Ou com sorte teremos uma API de data melhorzinha nessa epoca, caso continuemos por aqui =)
[/quote]
O Mister__M (Michael Nascimento Santos) está trabalhando para pôr uma API decente (a tal da Joda Time) já no Java 7. Espere e verá.
[quote=thingol][quote=Homero Damico]Ou com sorte teremos uma API de data melhorzinha nessa epoca, caso continuemos por aqui =)
[/quote]
O Mister__M (Michael Nascimento Santos) está trabalhando para pôr uma API decente (a tal da Joda Time) já no Java 7. Espere e verá.[/quote]
Show.
Só a 10 tipos de pessoas no mundo. Os que entendem computação e os que não entendem.
[quote=thingol][quote=Homero Damico]Ou com sorte teremos uma API de data melhorzinha nessa epoca, caso continuemos por aqui =)
[/quote]
O Mister__M (Michael Nascimento Santos) está trabalhando para pôr uma API decente (a tal da Joda Time) já no Java 7. Espere e verá.[/quote]
To acompanhando a JSR =)
Usei Joda tb, for fun, pra ter um preview.
Mas vai ser um javax.date ou algo assim.
Não vai substituir a api atual, só complementar.
Até trocarem isso definitivamente vai tempo, SE acontecer.
[]'s
Homero
[quote=saoj]
Só a 10 tipos de pessoas no mundo. Os que entendem computação e os que não entendem.[/quote]
e os outros 8 tipos ?!?!?!?1
[quote=Giulliano][quote=saoj]
Só a 10 tipos de pessoas no mundo. Os que entendem computação e os que não entendem.[/quote]
e os outros 8 tipos ?!?!?!?1[/quote]
saoj 1 x 0 Giulliano
Giuliano, você não entendeu a piada, já que o número está em binário, não em decimal.
Veja esta camiseta.
Curiosidade interessante essa da data =)
[quote=Giulliano][quote=saoj]
Só a 10 tipos de pessoas no mundo. Os que entendem computação e os que não entendem.[/quote]
e os outros 8 tipos ?!?!?!?1[/quote]
Preste atenção na base do número…
10 em binário é igual a dois em decimal!!!
[quote=Homero Damico][quote=Giulliano][quote=saoj]
Só a 10 tipos de pessoas no mundo. Os que entendem computação e os que não entendem.[/quote]
e os outros 8 tipos ?!?!?!?1[/quote]
saoj 1 x 0 Giulliano[/quote]
Eu também bolei na primeira vez que vi essa frase. Para entender números binários não tem muito mistério. Basta decorar o seguinte:
n bits = 2 ^ n possibilidades
1 0 1 0 1 0 1 = 2 ^ 6 + 2 ^ 4 + 2 ^ 2 + 2 ^ 0
6 5 4 3 2 1 0
Em Java:
byte = 8 bits
short = 16 bits
int = 32 bits
long = 64 bits
referencia de objeto = 32 bits (se não estou enganado)
Use a calculadora do windows e seja feliz!
Como a maioria dos CPUs são 32-bits, set e get de variáveis do tipo long podem em teoria dar problemas de race condition em Java. Alguém sabe mais detalhes sobre isso?