How HashMap internally works in Java?

How HashMap internally works in Java?