What `synchronized` Means in Java: Thread Safety Explained | CodeTrail