3.1 El Stack y el Heap - ajpaez/OCA GitHub Wiki
Comprender los conceptos de Stack y Heap hace que sea mas fácil la comprensión de algunos temas como el paso de argumentos, polimorfismo, hilos, excepciones y el recolector de basura. La mayor parte de componentes Java (métodos, variables y objetos) de un programa en ejecución podemos encontrarlos en dos partes de la memoria: el stack y el heap. Por ahora solo nos fijaremos en tres tipos de componentes: las variables de instancia, las variables locales y los objetos:
- Las variables de instancia y los objetos se encuentran en el heap
- Las variables locales en el stack
1. class Collar { }
2.
3. class Dog {
4. Collar c; // instance variable
5. String name; // instance variable
6.
7. public static void main(String [] args) {
8.
9. Dog d; // local variable: d
10. d = new Dog();
11. d.go(d);
12. }
13. void go(Dog dog) { // local variable: dog
14. c = new Collar();
15. dog.setName("Aiko"); //"Aiko" String object
16. }
17. void setName(String dogName) { // local var: dogName
18. name = dogName;
19. // do more stuff
20. }
21. }