Je me demandais s'il y avait une différence dans la mémoire occupée par Integer n
, et int n
.
Je sais int n
occupe normalement 4 octets, que diriez-vous Integer n
En général, la mémoire de tas utilisée par un objet Java dans Hotspot se compose de:
selon la suggestion de Mark Peters, je voudrais ajouter le lien ci-dessous http://www.javamex.com/tutorials/memory/object_memory_usage.shtml
Un objet Entier dans Java occupe 16 octets.
Je ne sais pas si l'exécution d'une JVM 64 vs 32 bits fait une différence. Pour types primitifs, cela n'a pas d'importance . Mais je ne peux pas dire avec certitude comment l'empreinte mémoire d'un objet change (le cas échéant) sous un système 64 bits.
Vous pouvez le tester par vous-même ici:
Pour int: 4 octets utilisés par élément sans wrappers et 16 par élément avec wrapper.
Un double encapsulé rapporte 24 octets par élément, avec la valeur réelle double 64 bits (8 octets).
Pour plus de détails ici