Levi9 Interview Question

How does immutability work in Java? Differences between primitive types and objects? Any useful design patterns?