Я прочитал следующую классическую известную статью: Декларация о нарушении
У меня есть вопрос о:
На самом деле, если предположить, что функция calculateHashCode всегда возвращает один и тот же результат и не имеет побочных эффектов (т. е. идемпотента), вы даже можете избавиться от всей синхронизации.
// Lazy initialization 32-bit primitives
// Thread-safe if computeHashCode is idempotent
class Foo {
private int cachedHashCode = 0;
public int hashCode() {
int h = cachedHashCode;
if (h == 0) {
h = computeHashCode();
cachedHashCode = h;
}
return h;
}
// other functions and members...
}
Статья написана для java 4. Актуальна ли она для java 8+?
Правда ли, что computeHashCode()
будет вызываться только один раз?
dcl
, но я не вижу никакой связи с языком цифровых команд. - person HABO   schedule 19.09.2019