Donde se asigna la memoria cuando declaramos estática?
Posible duplicado:
Asignación estática en java – pila, pila y generación permanente
Es una pequeña confusión … definiendo estática a clase, métodos y variables.En estos tres casos donde así se asigna la memoria. ? Mi jefe está familiarizado con C, él dice que sólo las variables están en memoria de montón y el resto (clases estáticas y métodos estáticos) permanecerá en la memoria principal. Es ese ture? Cualquier explicación
- Ejecución de pruebas Android método setUp () se llama varias veces
- Android - Cómo deshabilitar el botón Buscar, cómo implementar onSearchRequested ()?
- ¿Cómo puedo detectar el uso de tamaño de montón de una aplicación de Android?
- La orden de LinkedHashMap entrySet no se conserva en un flujo (Android)
- Niveles de protección de los permisos de Android 18 y 50
Uno más en android usando la clase estática y los métodos estáticos es una mejor práctica?
- Agregar un proyecto .jar a androidstudio.
- LibGDX - ¿Cómo Gdx.graphics.getWidth () devuelve el ancho de la superficie de visualización?
- AddProximityAlert y KEY_PROXIMITY_ENTERING
- ¿Qué hace transitive = true en Gradle exactamente hacer (wrt crashlytics)?
- Java.io.NotSerializableException incluso si implemento "Serializable"
- No se puede instalar Android Studio en Ubuntu
- Obtener referencia a Thread Object desde su ID
- Java.lang.IllegalMonitorStateException: objeto no bloqueado por hilo antes de wait ()?
Prueba esto,
static members are stored in Method Area.
Las instancias de clase y los arrays se almacenan en la memoria de montón. La memoria Heap también se denomina memoria compartida. Como este es el lugar donde múltiples hilos compartirán los mismos datos.
Non-heap Memory
Se compone de 'Method Area'
y otra memoria necesaria para el procesamiento interno. Así que aquí el jugador principal es 'Área del Método'.
Method Area
Como se indica en la última línea, el área del método es parte de la memoria no heap (Un área de montón especial). Almacena estructuras por clase, código para métodos y constructores. La estructura por clase significa constantes de tiempo de ejecución y static fields
.
Los tres anteriores (memoria de pila, memoria no heap y área de método) son la jerga principal cuando se trata de memoria y JVM.
Las instancias de clase y los arrays se almacenan en la memoria de montón. La memoria Heap también se denomina memoria compartida. Como este es el lugar donde múltiples hilos compartirán los mismos datos.
Las variables estáticas se guardan en el mismo lugar que la declaración Classes (métodos y atributos, etc). 1). Las clases (cargadas por los cargadores de clase) entran en un área especial en el montón llamada Generación permanente y el campo estático también van al mismo lugar que son comunes a cada instancia de la clase. Para más detalles :
Ver esta respuesta
- Error con DialogFragment en Android
- Android – forma simple de entrada de usuario web-view para back-end java con jQuery Mobile