Доступ к частным полям без Bytecode-VerificatorJAVA

Программисты JAVA общаются здесь
Anonymous
Доступ к частным полям без Bytecode-Verificator

Сообщение Anonymous »

Пример взят из книги о безопасности О'Рейли Java.

Код: Выделить всё

public class Card {
public int num = 123234;
}
< /code>

и
test.java

public class Test {
public static void main(String[] args) {
Card card = new Card();
System.out.println("Your card - " + card.num);
}
}
< /code>

Я составляю оба класса, используя Java [b] 1.2 < /strong>. Затем я изменяю модификатор поля Num 
на частное и перекомпиляю только класс Card . Следующий выход. < /p>


Ваша карта - 123234. < /p>
< /blockquote>

Таким образом, это работало даже без отключения проверки байт -кода (хотя автор говорит, что если бы мы не был проверкой байт -кода, он мог бы работать). < /p>

Теперь я делаю То же самое с использованием java 1.6 [/b].
Запуск тестового класса создает allodalaccesserror , даже если я запускаю его с -noverify .
Вопросы: < /p>

1) имеет ли это какое -либо отношение к проверке Bytecode. Если это не так, кто произвел ошибку.>

Подробнее здесь: https://stackoverflow.com/questions/255 ... erificator

Вернуться в «JAVA»