Sí, pero si esa variable es una referencia a la memoria asignada en el montón, solo se elimina la referencia, no los datos reales en el montón.
Es decir, por ejemplo, si la variable era un objeto (y no un tipo primitivo como un int), el objeto seguirá existiendo en la memoria, hasta que el recolector de basura finalmente decida ejecutarse y vea que no hay referencias pendientes a ese objeto, y reclama la memoria
Si eso no es lo que quieres, tienes un par de opciones:
- ¿Cuáles son algunos algoritmos de consenso sin master distribuidos?
- Si te dejara probando un software durante dos horas, ¿qué me tendrías que mostrar cuando regrese?
- ¿Qué certificación de desarrollador de Microsoft es mejor para el fundador de inicio?
- Estoy estudiando ingeniería de software en la Universidad de Waterloo. Siento que si abandonara y estudiara cosas en línea o tomara un descanso de un semestre, aprendería mucho. ¿Es una mala idea? Además, el programa aquí está muy estructurado, por lo que es difícil tomarse un año libre. ¿Qué tengo que hacer?
- Ingeniería de software: ¿qué es la API REST y cómo me familiarizo con ella?
- Invoque el GC manualmente. Eso es generalmente una mala idea; el GC normalmente sabe mejor cuándo ejecutar que usted, lo más probable es que solo empeore su aplicación.
- Use un grupo de objetos: un par de objetos ya inicializados que borra y reutiliza muchas veces, en lugar de asignar y dejar que el GC se encargue de las asignaciones de negocios. Esto puede conducir a errores muy feos cuando no se implementa correctamente (cuando no se tiene en cuenta la forma en que se usarán y reutilizarán los objetos).
En ambos casos, debe tener pruebas en forma de informes de perfil de rendimiento antes / después que muestren claramente que lo que hizo fue una mejora. Es muy probable que solo empeore las cosas usando tales trucos: la JVM está optimizada para ejecutar código idiomático (estándar, normal), y ninguno de los anteriores es idiomático.