Можно создать дубликат:
Why defining class as final improves JVM performance?Почему делает класс окончательной скоростью?
У меня есть следующий класс в моем проекте:
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
s.
Я обнаружил, что когда я сделал класс final
, код работал значительно быстрее. Почему это?
Есть ли что-нибудь еще, что я могу сделать в этом классе для оптимизации этого класса, в частности, основного конструктора?
(К примеру, геттеры/сеттеры быстрее, чем государственные полей? Есть ли другие модификаторы я могу добавить? И т.д.)
PLS. показать сравнительные результаты, которые вы сравнили. – Azodious
О, я нашел связанный с этим вопрос: http://stackoverflow.com/questions/3961881/why-defining-class-as-final-improves-jvm-performance – dsg
Вы уверены, что он существенно отличается от скорости? – anubhava