У меня есть много сервисов в распределенном приложении, и все они работают с версией JKD 1.7 (обновление 45). Из этих служб у меня есть некоторые интенсивные службы памяти с кучей 4 ГБ ОЗУ с использованием алгоритма CMS GC. Я обнаружил, что существующие алгоритмы, включая CMS, неэффективны для интенсивных приложений с интенсивным генератором. Производительность этих служб ухудшается с помощью всплеска активности обмена сообщениями в произвольные интервалы времени.JDK 1.8 Сборщик мусора G1 алгоритм для классов, скомпилированных с версией JDK 1.7
Я прочитал много хорошего о JDK 1.8 G1 algorithm. Но я не могу обновить все сервисы до JDK 1.8 из-за ограничений некоторых сторонних технологий, которые еще не готовы к JDK 1.8.
Можно ли просто обновить время выполнения до версии JDK 1.8 в некоторых сервисах + настроить алгоритм G1 для GC, но по-прежнему использовать классы Java, скомпилированные с JDK 1.7 версии 45?
Примечание: У меня было более раннее обновление JDK 1.7 в службах с скомпилированными классами JDK 1.6. Но на этот раз я должен играть с алгоритмом GC и не уверен, как он ведет себя с скомпилированными классами JDK 1.7. Если кто-то из вас уже сделал, поделитесь своими входами.
Спасибо за подтверждение. Одно небольшое сомнение: могу ли я использовать новые параметры JVM (удаление перментинга и т. Д.) С версией 1.8 ?. Я думаю, что ответ «ДА» из вашего ответа, но у него мало сомнений. Просто хочу перекрестно проверить один раз. –
Конечно. Опять же, JVM не обрабатывает ваши классы по-разному в зависимости от того, с какой версией они были скомпилированы (за исключением того, что более низкие версии JVM не поддерживают классы более высокой версии, если явно не скомпилированы для более низкой версии). – Kayaman