The java.util.PriorityQueue Class

From the javadoc for the java.util.PriorityQueue class: Recall the difference between O(n) (linear) and O(log(n)) (logarithmic) time:

n log(n)
8 3
16 4
32 5
... ...
512 9
1024 10

How does java.util.PriorityQueue achieve logarithmic time performance?