Pérdidas de memoria en Java

En C, los programadores controlan totalmente la asignación y desasignación de objetos creados dinámicamente. Y si un programador no destruye objetos, ocurre una fuga de memoria en C ,

Java realiza la recolección automática de basura. Sin embargo, puede haber situaciones en las que el recolector de basura no recopile objetos porque hay referencias a ellos. Puede haber situaciones en las que una aplicación cree muchos objetos y no los utilice. Solo porque todos los objetos tienen referencias válidas, el recolector de basura en Java no puede destruir los objetos. Este tipo de objetos inútiles se denominan fugas de memoria. Si la memoria asignada supera el límite, el programa finalizará al aumentar OutOfMemoryError. Por lo tanto, si un objeto ya no es necesario, se recomienda enfáticamente hacer que ese objeto sea apto para el recolector de elementos no utilizados. De lo contrario, deberíamos usar algunas herramientas que administran la memoria para identificar objetos inútiles o pérdidas de memoria como: 

  • HP OVO
  • MEDIDOR HP J
  • JProbe
  • ibm tivoli

Java

// Java Program to illustrate memory leaks
import java.util.Vector;
public class MemoryLeaksDemo
{
    public static void main(String[] args)
    {
        Vector v = new Vector(214444);
        Vector v1 = new Vector(214744444);
        Vector v2 = new Vector(214444);
        System.out.println("Memory Leaks");
    }
}

Producción: 

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space exceed

Publicación traducida automáticamente

Artículo escrito por Bishal Kumar Dubey y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *