Ich habe den Quellcode des JDK über ConcurrentHashMap gelesen.
Aber der folgende Code hat mich verwirrt:
public boolean isEmpty() {
final Segment<K,V>[] segments = this.segments;
...
}
Meine Frage ist:
"this.segments" wird deklariert:
final Segment<K,V>[] segments;
Zeigen Sie hier zu Beginn der Methode, die dieselbe Typreferenz deklariert hat, auf denselben Speicher.
Warum hat der Autor es so geschrieben? Warum haben sie this.segments nicht direkt verwendet? Gibt es einen Grund?
this.segmentsInhalt ändert , sehen Sie diese Änderung nicht in Ihremsegments?