|
Introducción a Java - Reservando memoria
Curso Introducción a Java
Anterior
Siguiente
¿Qué sucede durante la creación de un objeto? En el anterior ejemplo vimos de crear un objeto Persona. En la aplicación del operador new pasa lo siguiente:
Primero, se reserva lugar en la memoria para el nuevo objeto:

¿Y cuánto se reserva? El objeto tiene dos campos, nombre y edad. Edad es un entero, y en Java, los enteros ocupan 4 bytes. Eso es parte de lo que se reserva en memoria.
El nombre, en cambio, es una variable, que en algún momento referneciará a un objeto del tipo String. No se reserva lugar para 50 o 60 caracteres. Solamente se reserva lugar para una referencia, un puntero si quieren verlo así. El tamaño de esa referencia es algo interno de la implementación de la máquina virtual, y es opaco para nuestro programa.
Nota para programadores C: Ya no hay operador sizeof en Java, el tamaño de los objetos y las referencias son parte de la implementación de la máquina virtual, y como programadores no tenemos acceso a su detalle, como el tamaño de las estructuras internas que usa.
|