Question
When should a Java developer choose Java Memory Model, volatile, and synchronized deliberately?
- Choose Java Memory Model, volatile, and synchronized mainly when you want to postpone validation and fix problems manually later.
- Choose Java Memory Model, volatile, and synchronized whenever you want the code to look more advanced, even if the design gets less clear.
- Choose Java Memory Model, volatile, and synchronized only to avoid modeling domain rules explicitly in Java code.
- Use synchronized or higher-level concurrency tools when multiple related operations must stay atomic and consistent.
Hint
Think about the production scenario where the choice genuinely improves the code.
Answer and rationale
Correct answer: D. Use synchronized or higher-level concurrency tools when multiple related operations must stay atomic and consistent.
Use synchronized or higher-level concurrency tools when multiple related operations must stay atomic and consistent. Interviewers often ask this to see whether you can connect the concept to real design decisions.
Track: Java