getfield
используется для получения переменной-члена класса.
Как видно из оставшегося кода:
while ((st < len) && (val[off + st] <= ' ')) {
st++;
}
while ((st < len) && (val[off + len - 1] <= ' ')) {
len--;
}
Поэтому, когда вы находитесь в цикле, он должен выполнять getfield
каждый раз, когда вы ссылаетесь на value
или offset
. Вы можете получить значительный удар по производительности, если цикл выполняется в течение длительного времени (поскольку каждый раз, когда проверяется условие цикла, getfield
создается для offset
и value
). Таким образом, используя локальные переменные off
и val
, вы снижаете снижение производительности.