在Java中的String類的修剪方法包含此:避免getfield命令的操作碼
int off = offset; /* avoid getfield opcode */
char[] val = value; /* avoid getfield opcode */
我有點被評論不解 「避免getfield命令代碼」 ...
什麼意思是不是? (我把它這樣就避免了在字節碼使用getfield命令的,但爲什麼這是一件好事[TM]?)
它是防止創建對象的情況下,修剪沒有做任何事情(因此這個被返回)還是?
該註釋不適用於'len',因爲len在該方法中被主動修改,所以它必須是本地變量。另一方面,'off'和'val'沒有被修改,但僅僅爲優化而存在。 – Lars 2011-01-21 17:27:39
@Lars:斑點;我沒有看到len的變化。 – 2011-01-21 17:30:27