How does kubernetes calculate difference between spec and status objects?

Hi all,
I’m totally new to kubernetes. I’ve read the documentation about how kubernetes works. And now my question is how kubernetes calculate the difference between spec and status object? Does it use jsonpatch rfc6902?