2010-11-30 7 views
0

Quelle serait la taille de la mémoire/espace occupé en bits/octets par tableau comme suit.Taille du tableau en Java

final String[] objects_user1={"1","10","100","1000","10000"}; 
+3

Projet de devoirs? –

+2

J'espère que ce n'est pas pour un test en direct ou une interview .... –

+0

Peut être pour une entrevue car vous n'avez pas besoin de savoir vraiment – willcodejavaforfood

Répondre

5

ESTIMATION RUGUEUSE: 12 octets pour l'en-tête de tableau, 4x5 octets pour les pointeurs (8x5 si vous êtes sur un jvm 64 bits), chaque chaîne a 3 octets (+ 3x4 octets) et un tableau de caractères (+12 octets pour l'en-tête + longueur de la chaîne x2, parce que c'est char).

+0

Oui, je me le demande aussi. Je pense que si peole va downvote, ils devraient au moins vous dire pourquoi. Je vais vous donner un upvote pour l'annuler. :-) – Jay

+0

@Jay: merci. –

0

Impossible de dire, puisque c'est un détail d'implémentation du JRE que vous utilisez.

0

Vous pouvez obtenir une réponse approximative en interrogeant l'espace de segment disponible avant & après l'allocation de mémoire. Exécuter un certain nombre de fois & calculer la moyenne, & il sera assez proche de la bonne réponse. Mais encore une fois, la réponse n'est valable que pour la JVM spécifique sur laquelle il est exécuté.