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. }