Inhalte bis jetzt:
static final + X_Y_Z -> Konstante
static {} = „statischer Block“, wird beim Laden der Klasse (durch den ClassLoader) ausgeführt, dadurch können statische Variablen initialisiert werden
String[]{} -> {} = Array literal
Synchronized -> Methode -> Java kümmert sich um Thread-Safety
- Man kann auch manuell per Objekt synchronisieren
- Handle blockiert im Thread (Mutex)
- vs „volatile“ -> zwei Threads auf gleiche Variable -> Thread erhält jeweils den aktuellen Stand
java.util.concurrent.* (AtomicReference, CountDownLatch)
- Buchempfehlung: „Java Concurrency in practice - Brian Goetz“
ManagedBean + JMX: RPC-Aufrufe (https://www.baeldung.com/java-management-extensions)
"Unboxing Conversion": https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.8
- im Zsh. mit
Boolean und NPE bei if (var) wenn var null ist (IntelliJ / SonarLint-Empfehlung)
Inhalte bis jetzt:
static final + X_Y_Z -> Konstante
static {} = „statischer Block“, wird beim Laden der Klasse (durch den ClassLoader) ausgeführt, dadurch können statische Variablen initialisiert werden
Siehe auch https://openbook.rheinwerk-verlag.de/javainsel/14_001.html#u14.1
String[]{} -> {} = Array literal
Synchronized -> Methode -> Java kümmert sich um Thread-Safety
java.util.concurrent.* (AtomicReference, CountDownLatch)
ManagedBean + JMX: RPC-Aufrufe (https://www.baeldung.com/java-management-extensions)
"Unboxing Conversion": https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.8
Booleanund NPE beiif (var)wennvarnull ist (IntelliJ / SonarLint-Empfehlung)