Делает ли маркировка аргументов метода окончательной, ускоряет ли вызов метода? - PullRequest
2 голосов
/ 22 июня 2011

Я видел чувствительные ко времени программы обратного отслеживания, написанные таким образом, и я полагаю, что это заставляет компилятор избегать копирования памяти и ускоряет вызов метода, и я думаю, что это полезно для рекурсивных программ.

Но это мое предположение, я хотел бы получить подробное объяснение / статью по этому поводу или опровержение.

1 Ответ

1 голос
/ 22 июня 2011

Это никак не влияет на производительность - на самом деле, оно никак не влияет на время выполнения.

Если вы скомпилируете класс, который содержит 2 метода - один с параметрами, помеченными как final, а другой без -, а затем посмотрите на байт-код, сгенерированный для каждого метода, вы заметите, что различий нет (другие чем имя метода).

Все ключевое слово final делает в этом контексте, чтобы вы не могли переназначить эту переменную в методе.

...