Comments 9
https://pedrorijo.com/blog/java-integer-cache/
$ jshell
| Welcome to JShell -- Version 11.0.2
| For an introduction type: /help intro
jshell> import java.lang.reflect.Field;
jshell> Field value = Integer.class.getDeclaredField("value");
value ==> private final int java.lang.Integer.value
jshell> value.setAccessible(true);
jshell> value.set(2, 3);
jshell> 1 + 1
$6 ==> 3
Ух. Помнится во времена былинные, когда Java была еще closed source, я на Unsafe самомодифицирующийся код писал. Почти 20 лет прошло, спасибо за приступ легкой ностальгии :)
Unsafe Java I — Небезопасная жаба
Unsafe Java II — Мутагенез земноводных
Но зачем?
По сравнению с ChuckNorrisException это так, детские игрушки :)
По этому Unsafe так и называется и вообще не Public API
Sign up to leave a comment.
Я хотел сломать Java и я это сделал