2015-02-10 1 views
0

Когда я использую аргумент VM «-verbose: class», он показывает все классы, которые загружаются, за исключением тех, которые присущи java и объявлены изначально, как примитивы или массивы (не могу придумать ничего другого, здесь?).Почему java -verbose: аргумент класса включает jre родственные классы?

Несмотря используя следующую строку кода в качестве основного метода, вы не видите этот тип загружаемой в соответствии с многословной выходом

int[] o = new int[0];

Есть ли способ, чтобы сделать это возможным с помощью других средств ?

+1

Примитивные классы массива никогда не загружаются, они просто создаются в бутстрапе VM: [источник] (http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/0499e4a89c76/src/share/vm /memory/universe.cpp#l259). Почему вы когда-нибудь хотели увидеть их в журнале? – apangin

ответ

1

Эти классы предварительно загружаются с использованием оптимизированного кода, который обходит почти все стандартные механизмы загрузки и проверки. Вот почему вы их не видите. В принципе, нельзя различать загрузку такого класса как отдельного события; они загружаются навалом из предварительно кэшированного изображения.

Смежные вопросы