В качестве примера возьмите код операции btstecode getstatic. JVM выполняет проверку того, является ли поле ссылки статическим (или может быть экземпляром?) Разве это не избыточный шаг? Потому что, компилятор гарантирует, что поле статично. PS Возможно, точка-байт-код может быть изменен в течение времени выполнения.Почему виртуальная машина проверяет тип поля?
ответ
Разве это не избыточный шаг? Потому что, компилятор гарантирует, что поле статично.
Если кто-то создает байткоды вручную (или используя библиотеку модификации байт-кода), то эти проверки компилятора не выполняются. Вот почему нам нужно проверить байткоды ... во время загрузки.
Проверка также может быть пропущена с использованием флага VM '-Xverify: none'. Это особенно полезно для таких программ, как Eclipse, которые из-за этого имеют длительные времена загрузки. – Clashsoft
Есть ли у вас какие-либо объективные доказательства? Как >> сколько << ускоряет запуск Eclipse? –
Не очень, но учитывая количество сдвигов классов, я думаю, что это не подлежит обсуждению. – Clashsoft
- 1. виртуальная машина с FBCTF
- 2. JRE виртуальная машина отсутствует
- 3. Возможно ли, что виртуальная машина знает, что это виртуальная машина?
- 4. Почему Common Language Runtime - это виртуальная машина?
- 5. Где моя виртуальная машина?
- 6. виртуальная машина Java спецификация
- 7. Как работает виртуальная машина?
- 8. Виртуальная машина Vs. Middleware
- 9. Виртуальная машина ошибка квм
- 10. Linux и виртуальная машина
- 11. Виртуальная машина MicroCloud
- 12. Виртуальная машина Globus Toolkit
- 13. Javascript Виртуальная машина
- 14. Виртуальная машина apache недоступна
- 15. Виртуальная машина Java
- 16. Недоступная виртуальная машина
- 17. Уникальная виртуальная машина
- 18. виртуальная машина сбор мусора
- 19. azure Виртуальная машина Поддержка IPv6
- 20. Proxmox - виртуальная машина за NAT
- 21. Виртуальная машина из регулярного выражения
- 22. Виртуальная машина и облачные вычисления
- 23. виртуальная машина и облачные вычисления
- 24. VMWare виртуальная машина не загружается
- 25. Виртуальная машина Java и CLR
- 26. Виртуальная машина, поддерживающая несколько дисплеев
- 27. Эмулятор AS400 или виртуальная машина
- 28. Виртуальная машина для использования Linux
- 29. Виртуальная машина работает с DVD?
- 30. Позволяет ли виртуальная машина Java перегружать возвращаемый тип?
Кто сказал, что я использовал компилятор для создания моего байт-кода? – aioobe