Java 9 以降、JVM は CompactStrings という新機能を使用して文字列を最適化します。文字列は、char[] arrays の代わりに byte[] 配列として表すことができます。 UTF-16 または Latin-1 を使用して、1 文字あたり 1 バイトまたは 2 バイトを生成できます。文字列に ISO-8859-1/Latin-1 文字のみが含まれていることを JVM が検出した場合、文字列は内部的に 1 文字あたり 1 バイトを使用します。
は、文字列の作成時に文字列にコンパクト文字列が含まれているかどうかを検出することを示すことができます。この機能はデフォルトで有効になっており、-XX:-CompactStrings を使用してオフになります。 char[] 実装には戻らず、すべての文字列を UTF-16 として保存します。
うわー以上がJava 9 のコンパクト文字列とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。