Question du test Java

Trouvez la fuite de mémoire dans le code suivant.

Difficile

Pouvez-vous repérer la fuite de mémoire dans le code suivant ?

public class Test {
    private Object[] elements;
    private int size = 0;
    public static final int DEFAULT_INITIAL_CAPACITY = 16;

    public Test() {
        elements = new Object[DEFAULT_INITIAL_CAPACITY];
    }

    public void push(Object e) {
        ensureCapacity();
        elements[size++] = e;
    }

    public Object pop() {
        if (size == 0) {
            throw new EmptyStackException();
        }
        return elements[size--];
    }

    private void ensureCapacity() {
        if (elements.length == size) {
            elements = Arrays.copyOf(elements, 2 * size + 1);
        }
    }
}
Auteur: Joffrey BonifayStatut : PubliéeQuestion passée 116 fois
Modifier
0
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !