Je dois stocker une grande quantité de dates (potentiellement assez importante pour que la quantité d'espace heap utilisée soit une préoccupation donc s'il vous plaît, pas de leçons sur l'optimisation prématurée), et je me demande s'il est judicieux d'utiliser une sorte de représentation primitive au lieu de java.util.Date (ou une autre classe de Date existante). Je sais que je pourrais faire un profilage pour essayer, mais est-ce que quelqu'un sait exactement combien d'octets de mémoire utilise un objet Date unique?
Réponses
Trop de publicités?
Sam
Points
2858
J'ai essayé un calcul manuel basé sur les règles ici : http://www.javamex.com/tutorials/memory/object_memory_usage.shtml et en vérifiant le code source de l'objet Date en Java 7 pour la consommation de mémoire.
Surcoût d'objet : 8 octets => 8 octets
+ 1 long fastTime : 8 octets => 16 octets
+ 1 référence cdate : 4 octets => 20 octets
Arrondi au multiple de 8 le plus proche => 24 octets
Peut-être ai-je manqué quelque chose dans le calcul ou les outils qui ont été utilisés dans d'autres réponses et qui ont donné un résultat de 32 incluaient les références aux dates elles-mêmes dans le calcul ?
fmucar
Points
6937
- Réponses précédentes
- Plus de réponses