En clase String de Java, el recortar método contiene esto:código de operación getField
int off = offset; /* avoid getfield opcode */
char[] val = value; /* avoid getfield opcode */
estoy un poco desconcertado por el comentario "evitar el código de operación getField" ...
Lo ¿esto significa? (Supongo que esto evita el uso de getField en el código de bytes, pero ¿por qué es esto una buena idea [TM]?)
¿Es para evitar la creación de objetos en caso de recortar no hacer nada (y por lo tanto se devuelve) o?
El comentario no se aplica a 'len' porque len se modifica activamente en el método, por lo que tenía que ser una variable local de todos modos. 'off' y 'val' por el contrario no se modifican, sino que existen únicamente para la optimización. – Lars
@Lars: Bien manchado; No había visto el cambio a len. –
@JonSkeet Si usted personalmente estaba escribiendo esta biblioteca, ¿espera que lo haya hecho? ¿O simplemente se basó en el JIT para micro-optimizar? – corsiKa