Maison  >  Article  >  Java  >  Qu’est-ce qu’une chaîne compacte en Java 9 ?

Qu’est-ce qu’une chaîne compacte en Java 9 ?

PHPz
PHPzavant
2023-09-11 17:09:02765parcourir

Java 9中的紧凑字符串是什么?

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer