2010-09-30 6 views
-3

En général, en tant qu'objets, java récupère la mémoire occupée par l'objet lorsqu'il n'est plus nécessaire. Mais en même temps, nous utilisons des types de données int, float et double, qui sont définis en interne par le langage Java lui-même. Qu'en est-il de la mémoire de ce type de données quand elle n'est plus nécessaire?int, variables float après l'exécution du programme

S'il vous plaît me donner une réponse ...

Saravanan.P

+1

reformater la question. Il semble que vous demandiez quelles sont les exigences en matière de mémoire pour les types de valeur en tant que types de référence opposés. – locka

+1

Je ne suis pas sûr de la réponse que je vais donner. Alors s'il vous plaît corrigez-moi si j'ai tort. Je pensais que le garbage collector recueille l'objet ET les variables qui n'ont pas de pointeurs. Donc, si vous faites une variable null, le Garbage collector arrive et libère la mémoire – Emerion

Répondre

3

En d'autres termes, les types de données primitifs intégrés ne consomment pas la mémoire dès que vous quittez le bloc, ils ont été déclarés dans

L'utilisation de la mémoire des différents types de données primitifs sont:.

byte: 8 bit 
short: 16 bit 
int: 32 bit 
long: 64 bit 
float: 32 bit 
double: 64 bit 
boolean: 1 bit (it represents one bit, but can consume up to a byte) 
char: 16 bit 
+1

"en supposant que vous ne passez pas un pointeur vers une autre méthode, mais cela est rarement nécessaire" Ce n'est pas possible en Java – Cephalopod

+0

merci - corrigé que –

0

Les champs et les variables statiques sont initialisés à 0. Les variables locales doivent être explicitement initialisées, sinon le compilateur signale une erreur.

3

Les primitives (comme int, float, etc.) sont allouées dans la pile, si elles sont des variables de méthode locales et dans le tas si elles sont des variables membres (c'est-à-dire des champs d'une classe). Seul le tas est ramassé. Java supprime toutes les variables de la mémoire dès que ces variables ne sont plus accessibles.

+0

Un champ primitif dans un objet est alloué sur le tas, en tant que partie de cet objet. Seules les variables locales sont allouées sur la pile. –

+0

convenu. J'ai glissé dans mon esprit. Merci de l'avoir signalé. – dogbane

Questions connexes