I found that java.util.Arrays.sort(Object[]) use 2 kinds of sorting algorithms(in JDK 1.6).
java.util.Arrays.sort(Object[])
pseudocode:
if(array.length<7) inserti
It's for speed. The overhead of mergeSort is high enough that for short arrays it would be slower than insertion sort.