Вопросы
"Как задать количество потоков/ЦП для Java VM?"
Описание проблемы: Ограничение числа потоков/процессов в Java VM
Я хочу ограничить количество потоков или процессов, доступных виртуальной машине Java, аналогично тому, как можно задать доступную память. Мне нужно иметь возможность установить использование всего одного потока или произвольного...
Регистрация нескольких хранилищ ключей в JVM
Проблема с использованием различных хранилищ ключей в одной JVM
У меня есть два приложения, работающих в одной и той же виртуальной машине Java, и оба используют разные хранилища ключей и доверенные хранилища.
Один из возможных вариантов — использовать одно общее хранилище ключей и...
Безопасно ли использовать -XX:MaxRAMFraction=1 в продакшене в контейнеризованной среде?
Описание проблемы:
В Java 8/9 была добавлена поддержка параметра -XX:+UseCGroupMemoryLimitForHeap
(в сочетании с -XX:+UnlockExperimentalVMOptions
). Этот параметр устанавливает -XX:MaxRAM
в значение лимита памяти cgroup. По умолчанию JVM выделяет примерно 25% от максимального объема RAM,...
Почему компилятор Java 11 использует invokevirtual для вызова приватных методов?
Когда я компилирую приведённый ниже код с помощью компилятора Java из OpenJDK 8, вызов метода foo()
осуществляется с помощью invokespecial
, но при использовании OpenJDK 11 генерируется invokevirtual
.
public class Invoke {
public void call() {
foo();
}
private void foo()...
Как определить, запущен ли код в 64-разрядной или 32-разрядной JVM (изнутри программы)?
Как я могу определить, работает ли моя программа в 32-битной или 64-битной версии JVM? Какие функции или свойства я могу использовать для того, чтобы обнаружить это внутри программы?
Что такое параметры -Xms и -Xmx при запуске JVM?
Каковы параметры Xms и Xmx в JVM, и каковы их значения по умолчанию?