Depuis Java 9, la JVM optimise les chaînes en utilisant une nouvelle fonctionnalité appelée CompactStrings. Les chaînes peuvent être représentées sous forme de tableaux byte[] au lieu de char[] arrays. Nous pouvons utiliser UTF-16 ou Latin-1 pour générer un ou deux octets par caractère. Si la JVM détecte qu'une chaîne ne contient que des caractères ISO-8859-1/Latin-1, la chaîne utilise en interne un octet par caractère.
peut indiquer que la chaîne sera vérifiée si elle contient une chaîne compacte lors de la création de la chaîne. Cette fonctionnalité est activée par défaut et désactivée à l'aide de -XX:-CompactStrings. Il ne revient pas à l'implémentation char[] et stocke toutes les chaînes au format UTF-16.
<strong>// In Java 8 public class String { private final char[] value; // Stores characters in the string --------- } // In Java 9 public class String { private final byte[] value; // Stores characters in the string private final byte coder; // a flag whether to use 1 byte per character or 2 bytes per characters for this string --------- }</strong>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!