Explique l'allocation de mémoire en Java pour un programme écrit.Allocation de mémoire en Java
Répondre
En général, la mémoire est allouée sur Java "heap" en tant que résultat automatique des objets créés. C'est automatiquement géré. Une fois qu'un objet n'est plus référencé, le garbage collector retourne éventuellement la mémoire qu'il a déjà occupée dans le pool disponible. Plus d'informations sont disponibles sur le site java.sun.com, tel que dans ce overview of memory management. Spécifiquement en ce qui concerne la mise en œuvre JVM de Sun, HotSpot, il y a un PDF on it. Ceci est en contraste avec les langages (tels que C) où le programmeur contrôle directement l'allocation et la libération. En Java, vous laissez juste heureusement il à l'environnement:
void doSomething() {
NiftyObject joe;
joe = new NiftyObject(); // Allocation
// ...use joe for something...
// Done; no "free" call (or similar) required
}
Lorsque joe
est hors de portée (la fonction retourne, je suppose ici la fonction ne retourne pas joe
ou le stocker quelque part), joe
peut être collectées par le garbage collector. Lorsque cela se produit , dépend entièrement de l'implémentation et de l'environnement.
Juste pour ajouter, il y a un bon article sur le garbage collector ici: http://www.javaworld.com/javaworld/jw-08-1996/jw-08-gc.html –
Merci Stephen. En dépit d'être très vieux (1996), les concepts et tels sont toujours valables. S'il entre dans les détails (et il dit qu'il ne le fera pas sur la première page), ils devraient être pris avec un peu de grain de sel sur la supposition que les choses ont évolué. Mais d'écrémer le début, regarde bien. –
- 1. allocation de mémoire en Java
- 2. Java - Allocation de mémoire pour les classes
- 3. Allocation de mémoire Java non bloquante
- 4. Allocation de mémoire Java non demandée
- 5. allocation de mémoire en C
- 6. allocation mémoire
- 7. Allocation de mémoire variable
- 8. allocation dynamique de mémoire
- 9. Allocation de mémoire Android
- 10. allocation de mémoire dynamique
- 11. argv allocation de mémoire
- 12. allocation de mémoire pour const en C#
- 13. Allocation de mémoire de pile
- 14. Allocation de mémoire et bouclage
- 15. allocation de mémoire dans Xvfb
- 16. Allocation de mémoire d'exécution d'assemblage
- 17. Allocation de mémoire par thread
- 18. allocation de mémoire double pointeur
- 19. allocation de mémoire java échoue (eclipse xp dell)
- 20. structures imbriquées allocation de mémoire
- 21. allocation de mémoire double point
- 22. Allocation de la mémoire Silverlight
- 23. Allocation dynamique de la mémoire
- 24. Allocation de mémoire de plusieurs matrices d'assemblage
- 25. Allocation de mémoire de la structure globale
- 26. Utiliser ini_set ("memory_limit", ...) sans allocation de mémoire
- 27. Allocation de mémoire dynamique dans VB6
- 28. Allocation de mémoire basée sur la pile
- 29. Allocation de mémoire avec les routines LE
- 30. allocation de mémoire pour une structure
Vous devrez être plus précis que cela. –
Vous devez être un peu plus explicite. Quel aspect de l'allocation de mémoire voulez-vous savoir? – Andrew