Tecnología

Inicio

Vs. montón Apilar en Java

Vs. montón Apilar en Java


programas Java utilizan la memoria del ordenador de diferentes maneras. Si los programadores de Java tienen al menos un conocimiento básico de cómo la memoria se gestiona dentro del lenguaje, tienen una mejor oportunidad de crear aplicaciones eficaces de alto rendimiento. Al igual que con la mayoría de los aspectos de la programación, no es necesario entender todos los detalles de implementación del modelo de gestión de memoria de Java, pero agarrando los dos tipos básicos de memoria y su impacto en la programación es útil.

Tipos y la memoria

Java datos variables del modelo y componentes de código de varias maneras. Dependiendo del tipo y el alcance de una variable, se puede almacenar ya sea en el montón o memoria de pila. memoria de pila puede ser pensado como a corto plazo, montón como a largo plazo. Cuando se acerque a un proyecto de desarrollo en Java, que tendrá que tomar decisiones continuas sobre la forma en que se almacenan usted los artículos de datos de modelos, que determinarán tipos de memoria. Tomar estas decisiones con una comprensión de las implicaciones permite a los desarrolladores para maximizar la eficiencia del programa.

primitivas

Los tipos primitivos en Java incluyen números y caracteres tipos básicos tales como "int" para valores enteros primitivos y "char" para los caracteres primitivos. Cuando tipos tiendas Java primitivos, la información almacenada se compone principalmente de los valores de las variables, por lo que la cantidad de uso de memoria tiende a ser más pequeño que con los tipos de objetos. Si una variable de tipo primitivo existe sólo como una variable local dentro de un archivo de clase de la aplicación, Java lo almacenará en la memoria de pila.

Objetos

Los tipos de objetos en Java incluyen tanto los tipos previstos en el propio lenguaje y tipos definidos por los programadores que usan declaraciones de clase. Cuando un programa Java crea un objeto, la JVM (Java Virtual Machine) asigna una sección de memoria de almacenamiento dinámico para ello. Dentro del programa, el nombre de la variable asignada a un tipo de objeto actúa como una referencia a esta ubicación en la memoria. El espacio para un objeto dentro de la pila de memoria puede contener los datos dentro del objeto, incluyendo las variables de cualquier tipo, ya sea primitiva o un objeto.

Mira variable

Ámbito de la variable tiene un impacto directo en la gestión de memoria dentro de un programa Java. Para crear aplicaciones eficientes, los desarrolladores tratan de minimizar el alcance requerido para cualquier elemento variable o de datos dada. Por ejemplo, la siguiente demuestra una sentencia condicional con una variable local dentro de ella:

int someNumber = 3;

si (someNumber> 0) {

int = doubleNumber someNumber * 2;

System.out.println (doubleNumber);

}

Este ejemplo trivial realiza un cálculo en una variable, escribiendo el resultado fuera. La variable que almacena el resultado del cálculo se declara dentro de la condicional, por lo que no se puede acceder en cualquier momento después de que el bloque condicional. En general, las variables que da la cantidad mínima de alcance requerido para que funcionen correctamente ayuda a programas utilizan como poca memoria como sea posible.

Recolección de basura

El recolector de basura JVM gestiona la cantidad de memoria que está disponible para un programa. Si ya no se está utilizando un objeto o de otro tipo dentro de una aplicación (por ejemplo, si se ha realizado su función y ya no es necesario), la memoria que utiliza idealmente debería estar disponible de nuevo si es necesario. El recolector de basura es capaz de reasignar memoria del montón si una aplicación se ejecuta bajo de recursos de memoria. Si una variable de objeto está fuera de su alcance, su memoria puede ser un candidato para la recolección de basura.