¿Qué codificación usa Java UTF-8 o UTF-16?

Ya he leído las siguientes publicaciones:

¿Cuál es la representación interna de Java para String? ¿UTF-8 modificado? UTF-16?https://docs.oracle.com/javase/8/docs/api/java/lang/String.html

Ahora considere el código dado a continuación:

public static void main(String[] args) {
    printCharacterDetails("最");
}

public static void printCharacterDetails(String character){
    System.out.println("Unicode Value for "+character+"="+Integer.toHexString(character.codePointAt(0)));
    byte[] bytes = character.getBytes();
    System.out.println("The UTF-8 Character="+character+"  | Default: Number of Bytes="+bytes.length);
    String stringUTF16 = new String(bytes, StandardCharsets.UTF_16);
    System.out.println("The corresponding UTF-16 Character="+stringUTF16+"  | UTF-16: Number of Bytes="+stringUTF16.getBytes().length);
    System.out.println("----------------------------------------------------------------------------------------");
}

Cuando intenté depurar la líneacharacter.getBytes() en el código anterior, el depurador me llevó algetBytes() método de clase de cadena y luego posteriormente en elstatic byte[] encode(char[] ca, int off, int len) Método de la clase StringCoding. La primera línea del método de codificación (String csn = Charset.defaultCharset().name();) devolvió "UTF-8" como la codificación predeterminada durante la depuración. Esperaba que fuera "UTF-16".

La salida del programa es:

Valor Unicode para 最 = 6700 El carácter UTF-8 = 最 | Valor predeterminado: número de bytes = 3

El correspondiente carácter UTF-16 =  | UTF-16: Número de bytes = 6

Cuando lo convertí a UTF-16 explícitamente en el programa, tomó 6 bytes para representar el carácter. ¿No debería usar 2 o 4 bytes para UTF-16? ¿Por qué se usaron 6 bytes?

¿Dónde me estoy equivocando en mi entendimiento? Yo uso Ubuntu 14.04 y el comando locale muestra lo siguiente:

LANG=en_US.UTF-8

¿Significa esto que JVM decide qué codificación usar en base al sistema operativo subyacente o usa UTF-16 solamente? Por favor, ayúdame a entender el concepto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta