Această regulă semnalează orice sincronizare pe instanţe de clase bazate pe valori. Este descurajată sincronizarea pe următoarele clase din aplicaţia dumneavoastră:
java.lang.Bytejava.lang.Shortjava.lang.Integerjava.lang.Long
java.lang.Floatjava.lang.Doublejava.lang.Boolean
java.lang.Character
java.lang.Runtime.Versionjava.util.Optionaljava.util.OptionalIntjava.util.OptionalLongjava.util.OptionalDoublejava.time.Instantjava.time.LocalDatejava.time.LocalTimejava.time.LocalDateTimejava.time.ZonedDateTimejava.time.ZoneIdjava.time.OffsetTimejava.time.OffsetDateTimejava.time.ZoneOffsetjava.time.Durationjava.time.Periodjava.time.Yearjava.time.YearMonthjava.time.MonthDayjava.time.chrono.MinguoDatejava.time.chrono.HijrahDatejava.time.chrono.JapaneseDatejava.time.chrono.ThaiBuddhistDate
De asemenea, sincronizarea ar trebui să fie evitată pe interfaţa
java.lang.ProcessHandle, pe clasele sale de implementare şi pe clasele
de implementare ale fabricilor de colectare din java.util:
List.of, List.copyOf, Set.of, Set.copyOf, Map.of, Map.copyOf,
Map.ofEntries şi Map.entry.
Pentru mai multe informaţii despre aceste modificări JDK, vedeţi What's New in JDK 16.
Pentru informaţii suplimentare despre modificarea caracteristicii, vedeţi Warnings for Value-Based Classes.