⟩ What is the difference between a value type and a reference type?
A value type is more optimized type and always immutable e.g. primitive int, long, double and float in Java, while a reference type points to a object, which can be mutable or Immutable. You can also say that value type points to a value while reference type points to an object.