Как Jit Компиляторы обнаружат недостижимой код и лишние проверки?
Если мне не изменяет память, JIT компиллятор компилирует java-метод целиком. Переводя byte-code в машинный код для x86 например.
А то что спрашивает автор - это задача основного компиллятора который язык Java переводит в байткод.
о тогда ошибки в памяти вызовут ошибку на хосте, а хакер дак и вообще может через эмулятор взломать внешнею систему.
ли Космические Лучи, в Ram попали, что тогда будет?
Программисты 20-го века работали в условиях глючной памяти (когда были ЭВМ на лампах и на тразнисторах)
и обрабатывали специальное прерывание типа "глюк в ячейке памяти".
С точки зрения современной парадигмы разработки - это невозможно. Никакой прикладной
программист не ставит себе задачу отслеживания целостности памяти. Это как-бы не его
уровень. Мы предполагаем что память надежна и всегда корректна. А иначе ОС выпадает
в синий экран и никаких принятий решения мы все равно не сделаем а облачные балансировщики
примут свои решения когда хост выпадет из сети.
В современной ОС также по дефолту считается что никакой хакер никогда не меняет
память вашего процесса. Это - основа безопасности ОС и если хакер все таки что-то может
менять - то это плохая ОС и плохая безопасность и надо что-то решать на уровне системной
архитектуры и тем более прикладной программист здесь ничего не сможет сделать.
Рассматривать такие случаи в топике Java - бесполезно и контр-продуктивно. Давайте
их рассматривать в топиках инфо-беза и операционок.