Возможный дубликат:
Зачем определять класс как final улучшает производительность JVM?
У меня есть следующий класс в моем проекте:
public final class LinkNode
{
public int value;
public LinkNode next;
public LinkNode(int value, LinkNode next)
{
this.value = value;
this.next = next;
}
public LinkNode(int value)
{
this(value, null);
}
}
Самая медленная строка в моем коде (который в целом довольно сложный) — это место, где я создаю новые LinkNode
.
Я обнаружил, что когда я создал класс final
, код работал значительно быстрее. Это почему?
Есть ли что-нибудь еще, что я могу сделать в этом классе, чтобы оптимизировать этот класс, особенно основной конструктор?
(Например, являются ли геттеры/сеттеры быстрее, чем общедоступные поля? Могу ли я добавить другие модификаторы? И т. д.)