Вопросы с тегом «jvm»

Виртуальная машина Java (JVM) позволяет ряду компьютерных программ и структур данных использовать модель виртуальной машины для выполнения других компьютерных программ и сценариев. Используйте этот тег для вопросов, касающихся инструментов, предоставляемых JVM, или того, как он работает в конкретном сценарии.



6
Почему цикл Java с 4 миллиардами итераций занимает всего 2 мс?
Я запускаю следующий код Java на ноутбуке с процессором Intel Core i7 с тактовой частотой 2,7 ГГц. Я намеревался позволить ему измерить, сколько времени требуется для завершения цикла с 2 ^ 32 итерациями, что, как я ожидал, составит примерно 1,48 секунды (4 / 2,7 = 1,48). Но на самом деле …
113 java  for-loop  jvm 

7
Почему этот метод печатает 4?
Мне было интересно, что происходит, когда вы пытаетесь поймать StackOverflowError, и я придумал следующий метод: class RandomNumberGenerator { static int cnt = 0; public static void main(String[] args) { try { main(args); } catch (StackOverflowError ignore) { System.out.println(cnt++); } } } Теперь мой вопрос: Почему этот метод выводит «4»? Я …
111 java  jvm  stack-overflow 

5
Почему код JIT-компиляции JVM не кэшируется?
Каноническая реализация JVM от Sun применяет довольно изощренную оптимизацию к байт-коду, чтобы получить почти нативную скорость выполнения после того, как код был запущен несколько раз. Вопрос в том, почему этот скомпилированный код не кэшируется на диск для последующего использования одной и той же функции / класса? В его нынешнем виде …
107 java  caching  jvm  compilation  jit 

17
Максимальный размер кучи Java 32-разрядной JVM в 64-разрядной ОС
Вопрос не в максимальном размере кучи в 32-разрядной ОС, учитывая, что 32-разрядные ОС имеют максимальный размер адресуемой памяти 4 ГБ и что максимальный размер кучи JVM зависит от того, сколько непрерывной свободной памяти может быть зарезервировано. Меня больше интересует максимальный (как теоретический, так и практически достижимый) размер кучи для 32-разрядной …
107 java  jvm 

1
CATALINA_OPTS vs JAVA_OPTS - В чем разница?
Я пытался выяснить разницу между переменными Apache Tomcat - CATALINA_OPTSи JAVA_OPTSв SO и удивился, увидев, что здесь еще нет вопросов / ответов. Поэтому я подумал поделиться им здесь (с ответом) после того, как узнал разницу. Проверьте ответ / разницу ниже. ПРИМЕЧАНИЕ. На момент публикации мы использовали Apache Tomcat v6.0.10 с …
105 java  tomcat  jvm  tomcat6 

6
Где находится постоянный пул Java String, в куче или стеке?
Я знаю концепцию пула констант и пула констант String, используемых JVM для обработки литералов String. Но я не знаю, какой тип памяти используется JVM для хранения константных литералов String. Стек или куча? Поскольку это литерал, который не связан ни с одним экземпляром, я предполагаю, что он будет храниться в стеке. …
104 java  string  jvm 

5
Предотвращает ли JVM оптимизацию хвостового вызова?
Я видел эту цитату на вопрос: какой хороший функциональный язык для создания веб-службы? Scala, в частности, не поддерживает исключение хвостовых вызовов, за исключением саморекурсивных функций, что ограничивает виды композиции, которую вы можете выполнять (это фундаментальное ограничение JVM). Это правда? Если да, то что именно в JVM создает это фундаментальное ограничение?

3
Почему на основе стека JVM и регистров Dalvik VM?
Мне любопытно, почему Sun решила сделать JVM на основе стека, а Google решил сделать DalvikVM на основе регистров? Я полагаю, что JVM не может действительно предполагать, что на целевой платформе доступно определенное количество регистров, поскольку предполагается, что она не зависит от платформы. Поэтому он просто откладывает выделение регистров и т. …

5
Отладка приложения Java без запуска JVM с аргументами отладки
Обычно для присоединения отладчика к работающему jvm вам необходимо запустить jvm с такими аргументами, как: > java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n Теперь, если я хочу отладить процесс, который не был запущен в режиме отладки, что я могу сделать? Эта ситуация возникает, когда производственная система (т. Е. Запущенная без аргументов отладки) обнаруживает «случайную» …

9
Как заблокировать скомпилированные классы Java, чтобы предотвратить декомпиляцию?
Как заблокировать скомпилированные классы Java, чтобы предотвратить декомпиляцию? Я знаю, что это должна быть очень хорошо обсуждаемая тема в Интернете, но я не мог прийти к какому-либо выводу, направив их. Многие люди предлагают обфускатор, но они просто переименовывают классы, методы и поля с помощью сложных для запоминания последовательностей символов, но …
98 java  jvm  decompiling 

9
Совместимость 32-разрядной и 64-разрядной версий Java
Будет ли код Java, созданный и скомпилированный для 32-разрядного JDK в 32-разрядный байт-код, работать в 64-разрядной JVM? Или для 64-битной JVM требуется 64-битный байт-код? Чтобы дать немного больше подробностей, у меня есть код, который работал в среде Solaris с 32-разрядной JVM, но теперь у меня возникают проблемы после обновления JDK …

5
Как предоставить VisualVM аргументы JVM?
Я использую VisualVM из JDK 1.6.0_26 для профилирования веб-приложения Java, работающего под Tomcat, но VisualVM часто сообщает мне, что у него недостаточно памяти для создания моментального снимка, и использовать переключатель -Xmx, чтобы предоставить больше памяти для Netbeans . Проблема в том, что я запускаю VisualVM вне Netbeans, поэтому как я …
97 java  windows  jvm  visualvm 

2
Распечатать все флаги JVM
Нашел интересный флаг JVM: java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version Он печатает сотни различных вариантов, о которых я никогда раньше не слышал. Он также выводит значения по умолчанию, что помогает лучше диагностировать поведение JVM. Еще один интересный флаг: -XX:+UnlockExperimentalVMOptions Кто-нибудь знает какую-либо документацию, которая объясняет каждый из них?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.