Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のコンパクト文字列と圧縮文字列の違いは?


コンパクトな文字列 Java 9で導入されました Java6の圧縮を置き換える 文字列 。その実装はbyte[]を使用します char []の代わりに配列 アレイと、それが LATIN1であるかどうかを識別するための新しいフィールドコーダーが導入されました またはUTF16 圧縮中のフォーマット 文字列 Java 6で導入されました 使用できるbyte[] 1文字あたり1バイトの配列で、引き続き char []を使用します 1文字あたり2バイトの配列。以前は、 -XX:+ UseCompressedStringsを使用してオンにできました。 。

圧縮文字列とは異なり、コンパクト文字列は解凍を必要としません。 または再梱包 。したがって、コンパクト文字列は実行時のパフォーマンスを向上させます。

圧縮 文字列 Java 6ではデフォルトで有効になっていません 、以下のコマンドを使用して明示的に設定する必要があります

XX:+UseCompressedStrings


コンパクトな文字列 以下のコマンドを使用して、Java9でデフォルトで有効になっています

+XX:-CompactStrings

  1. Javaのwait()メソッドとsleep()メソッドの違いは?

    sleep()メソッド 静的です スレッドの方法 クラスであり、現在実行中のスレッドを「実行不可」状態に送信できます 一方、 wait() メソッドはインスタンスメソッドであり、スレッドオブジェクトを使用して呼び出しており、そのオブジェクトに対してのみ影響を受けます。 sleep() 時間切れ後のメソッドウェイクアップまたはinterrupt()の呼び出し メソッド、 wait() 時間切れ後のメソッドウェイクアップまたはnotify()の呼び出し またはnotifyAll() 方法。 sleep() メソッドはロックまたはモニートを解放しません r待機中、 wait() メソッドは、待機

  2. JavaのJTextFieldとJFormattedTextFieldの違いは何ですか?

    JTextField JFormattedTextField に対して、プレーンテキストには使用できます JTextFieldを拡張できるクラスです また、電話番号、電子メール、日付を含むテキストに任意の形式を設定するために使用できます。 など JTextField JTextFeld は、ユーザーが入力テキスト値を1行の形式で入力できるようにする最も重要なコンポーネントの1つです。 JTextField ActionListenerを生成できます テキストフィールド内に入力を入力しようとすると、 CaretListenerが生成される可能性があります。 カレット(つ