Разбирался я тут со строками и на одном ресурсе прочитал следующий тезис:
Поскольку строка неизменная, её hashcode кэшируется в момент создания и нет необходимости рассчитывать его снова.
Полез я в java.lang.String и увидел что хоть метод hashCode() там и есть, но в самом коде этот метод нигде не вызывается. Я правильно понимаю, что, по факту, при создании строк хэш не используется и тезис в начале неверен?
Тезис верен.
Значение хэшкода вычисляется в момент первого вызовы hashCode и сохраняется в поле объекта. При том, метод может несколько раз вычислить значение, из разных потоков, т.к. никакой синхронизации для данного поля не предусмотрено.
Продвижение своими сайтами как стратегия роста и независимости