Firstly, it's a good idea to assume that the JVM developer's version is the best. They've worked hard on it for years.
Secondly, as far as I can tell, much of the java.util implementations are JVM specific. OpenJDK's java.util.Arrays
source code, for example, can be found here.
Looks like they worked hard on the algorithm used, see the comments:
/**
* Sorts the specified array into ascending numerical order.
*
* <p>Implementation note: The sorting algorithm is a Dual-Pivot Quicksort
* by Vladimir Yaroslavskiy, Jon Bentley, and Joshua Bloch. This algorithm
* offers O(n log(n)) performance on many data sets that cause other
* quicksorts to degrade to quadratic performance, and is typically
* faster than traditional (one-pivot) Quicksort implementations.
*
* @param a the array to be sorted
*/
public static void sort(int[] a) {
DualPivotQuicksort.sort(a, 0, a.length - 1, null, 0, 0);
}