База Hintsage

Программирование Java

Язык Java, JVM и экосистема серверной разработки.

Темы раздела

Выберите подраздел

Практика

Вопросы: Программирование Java

Представьте, что после длительного прогрева первый вызов с новым типом Op внезапно выполняется медленнее. Объясните механизм JVM, который может вызвать такой всплеск задержки.

interface Op {
    int apply(int x);
}

final class Add implements Op {
    public int apply(int x) { return x + 1; }
}

final class Mul implements Op {
    public int apply(int x) { return x * 2; }
}

public class Main {
    static long run(Op op) {
        long sum = 0;
        for (int i = 0; i < 10_000_000; i++) sum += op.apply(i);
        return sum;
    }

    public static void main(String[] args) {
        Op add = new Add();
        for (int i = 0; i < 20; i++) run(add);
        System.out.println(run(new Mul()));
    }
}
Программирование JavaJVM и памятьJava-разработчик серверных приложений

Показано 381400 из 403