Explain the reactivity system in Vue.js.

Vue’s reactivity system is based on data observers that track dependencies and automatically update the DOM when data changes. It uses getters and setters to detect changes, making data reactive. Arrays and objects are reactive by default, but directly adding new properties is not automatically reactive without Vue.set.