Сегодня я столкнулся с запутанным классом (много запутанных классов в банке), и я понятия не имею, как делается этот вид запутывания.
Пример:
protected void a(ChannelHandlerContext ☃, ByteBuf ☃, ByteBuf ☃)
throws Exception
{
int ☃ = ☃.readableBytes();
if (☃ < this.c)
{
☃.b(0);
☃.writeBytes(☃);
}
else
{
byte[] ☃ = new byte[☃];
☃.readBytes(☃);
☃.b(☃.length);
this.b.setInput(☃, 0, ☃);
this.b.finish();
while (!this.b.finished())
{
int ☃ = this.b.deflate(this.a);
☃.writeBytes(this.a, 0, ☃);
}
this.b.reset();
}
}
}
Как вы видите выше, все переменные параметров представляют собой снежного человека. Как это можно отменить? Кроме того, как это делается в первую очередь; как JVM может «обработать» их и выполнить код без каких-либо проблем?
Чтобы уточнить, я не собираюсь использовать этот код, он предназначен только для образовательных целей. Я прохожу курс информатики в школе, так как мы изучаем Java и говорим об ограничениях, таких как декомпиляция. Мне интересно узнать больше, поэтому я решил изучить более крупные проекты, особенно серверы. Этот фрагмент кода взят из Spigot server для Minecraft (игра), который является ответвлением Bukkit server для Minecraft, исходный код которого должен был быть открытым.
x
. Это просто переменная с именем☃
. Там нет сделанного или отмененного, просто вы можете написать имя переменной с любыми символами, которые вы хотите. - person Louis Wasserman   schedule 23.06.2015