Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по задачам jvm / 5 сообщений из 5, страница 1 из 1
26.11.2014, 13:57
    #38817326
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по задачам jvm
Добрый день!

Читаю конспект лекций по java и не до конца понимаю смысла выделенных жирным предложений

JVM выполняет три основные задачи:
1. Загрузка кода
загружая все классы, необходимые для работы программы
отделяя локальные классы от классов, загруженных удаленно
предотвращая подмену локальных классов удаленными


2. Проверка кода
на соответствие спецификации JVM
то что код не угрожает целостности системы
код не угрожает переполнением памяти

в коде не выполняются запрещенные преобразования типов

3. Выполнение кода
вызов методов классов
обращение к внешним ресурсам
взаимодействие с окружением


Поясните, пожалуйста, если не сложно.
...
Рейтинг: 0 / 0
26.11.2014, 14:20
    #38817373
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по задачам jvm
mr_virtus,

Лектор-теоретег? Или перевод слабый?
1) В Java нет разделение на локальные\удаленные классы. Система classloader-ов позволяет одианково эффективно грузить классы откуда угодно. Возможно имеется ввиду особый bootstrap classloader, который грузит классы JSE и не даёт возможоности заменить их в других загрузчиках?

2) Имеется ввиду такая фигня, как выход за пределы типа и д.п. Например пишешь ты на C++. Шаг влево\вправо и у тебя Access Violation и краш процесса. А Java оберегает тебя от этого, не давая тебе доступ куда попало. В результате процесс крашится исключительно редко.

3) Сложно сказать. Любое взаимодействие с ОС и железом укладывается в эту фразу.
...
Рейтинг: 0 / 0
26.11.2014, 14:25
    #38817385
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по задачам jvm
Blazkowicz,


спасибо за пояснения!

авторЛектор-теоретег? Или перевод слабый?

тут возможно и то и другое. может лектор так перевел или источник у него такой был, либо он сам с этим практики много не имел.

подробностей я не знаю.

авторВозможно имеется ввиду особый bootstrap classloader, который грузит классы JSE и не даёт возможоности заменить их в других загрузчиках?

если у меня получится уточнить, что тут имели в виду, я напишу.
...
Рейтинг: 0 / 0
26.11.2014, 14:26
    #38817387
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по задачам jvm
mr_virtus отделяя локальные классы от классов, загруженных удаленно
предотвращая подмену локальных классов удаленными


Это в тему изучения работы ClassLoader. Или правильнее сказать нескольких
загрузчиков у которых есть имена Bootstrap, System, Extension. У них есть
разделение сферы задач.

то что код не угрожает целостности системы
код не угрожает переполнением памяти


У Хорстмана во 2 томе есть пример как после ручной корректировки байткода
класслоадер отказался грузить .class ссылаясь на неинициализированную сущность.

На самом деле на 100% такую проверку выполнить невозможно хотя-быо
из понимания того факта что семантика алгоритма может быть раскрыта
только в "процессе". А на этапе валидации можно сделать самые тривиальные
проверки. Например смысл opcode mnemonics и ее аргументов.

По поводу "целосности" системы - это очень громкая фраза но требующая
уточнений. Какой целостности? Что система не распадётся на 2 половинки?
Вобщем уточнить.
...
Рейтинг: 0 / 0
26.11.2014, 14:31
    #38817394
mr_virtus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по задачам jvm
mayton,

Спасибо!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по задачам jvm / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]