Представьте, что приложение (container-) создает несколько загрузчиков классов для размещения нескольких других/суб-приложений.Оптимизация точек доступа (sun-jvm) выполняется несколько раз, если класс загружен разными загрузчиками классов?
Для контейнерного приложения есть загрузчик классов -say-root. Каждый раз, когда загружается подзадача, контейнер создает новый загрузчик классов для этого приложения.
Некоторые подзадачи используют одни и те же классы, но они не были загружены загрузчиком классов контейнера, поэтому каждое под-приложение (лучше: его загрузчик классов) загружает код, например. класс A. Поэтому permspace будет заполняться дважды: один раз для под-приложения # 1 и один раз для суб-приложения # 2.
Что это означает для оптимизации солнечных пятен на солнце?
Будут ли одинаковые оптимизации выполняться дважды в классе A, один раз для каждого класса-загрузчика?
Или есть ли какая-то «волшебная» встроенная программа, которая позволяет избежать этого? (Оптимизация выполняется один раз)
Кто-нибудь знает ссылку, были ли это объяснены?
Я имею в виду на солнце (сервер) Vm с доставкой JDK 1.6
Спасибо, что ответили - мне не хватает вашего опыта :). Однако я попробую использовать jvm-переключатели. – MartinK
Используя эти переключатели, вы можете сделать свой собственный тест, чтобы проверить поведение HotSpot. И, пожалуйста, сообщите о своих результатах! ;-) –
@Neeme: Угадайте, что? Я сделал! Я создал блог! См .: http://growninthewild.blogspot.com/2010/09/java-virtual-machine-hotspot.html – MartinK