jvm

для JVM Sun / Oracle я читал, что GC algo делит новое поколение на один регион Eden и два региона survivor. Мне интересно, почему два выживших региона, а не только один? Algo может продолжать пинг-понг между Eden и только одним оставшимся в живых регионом (как это в настоящее время происходит между двумя оста...

У меня есть очень простой вопрос о JVM: это компилятор или интерпретатор? Если это интерпретатор, то как насчет JIT-компилятора, который существует внутри JVM? Если ни то, ни другое, то что же такое JVM? (Я не хочу, чтобы основное определение jVM преобразования байтового кода в машинный код и т. д.)...

Я знаю, как запустить Java-программу с помощью агента java: java -javaagent:myAgent.jar MyJavaProgram но что делать, если я хочу добавить 2 или более агентов java для инструмента моей программы? Я не хочу заново создавать java-javaagent:... для каждого агента я должен загрузить в JVM. Я пробовал что-то вр...

каковы корни в сборке мусора? Я прочитал определение root как "любая ссылка, к которой вы можете получить доступ", а определение live-это объект, который используется, который может быть локальной переменной, статической переменной. Я немного путаю с различением разницы между корневыми и живыми объектами. ...

Я читал Нил Гафтер блог на эту тему и до сих пор неясно по ряду пунктов. почему невозможно создать реализации API коллекций, которые сохраняют информацию о типе С учетом текущего состояния Java, JVM и существующего API коллекций? Не могли бы они заменить существующие реализации в будущей версии Java таким об...

Htop на моей машине linux показывает много "процессов" после запуска одной программы java/JVM. Я понимаю, что JVM работает несколько потоков (за реальную программу, для сбора мусора и т. д.). но почему htop перечисляет их как несколько процессов с разными pids. Что именно это за процессы?...

учитывая эту программу: class Test { public static void main(String[] args) { try { throw new NullPointerException(); } catch (NullPointerException npe) { System.out.println("In catch"); } finally { System.out.println("In finally"); } ...

может кто-то пожалуйста, объясните мне разницу между Sleeping,Wait,Park и Monitor состояния потока в VisualVM. вот что я нашел: Running: поток все еще выполняется. Sleeping: поток спит (метод yield () был вызван на объект потока)Wait: поток был заблокирован мьютексом или барьером и ждет, пока другой поток...

хорошо известно, что GCs иногда перемещает объекты в памяти. И насколько я понимаю, пока все ссылки обновляются при перемещении объекта (до вызова любого пользовательского кода), это должно быть совершенно безопасно. однако я видел, что кто-то упомянул, что сравнение ссылок может быть небезопасным из-за объе...

Я запускаю программу, которую я написал на Java в Eclipse. Программа имеет очень глубокий уровень рекурсии для очень больших входов. Для меньших входов программа работает нормально, однако, когда большие входы даны, я получаю следующую ошибку: Exception in thread "main" java.lang.StackOverflowError можно л...