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

Java 9でのMethodHandlesクラスの重要性?


MethodHandles Java 7で導入されたクラス バージョン。このクラスは主にいくつかの静的を追加しました 方法 機能を向上させるために、ルックアップ方法のようないくつかのカテゴリに分類されます メソッドとフィールドのメソッドハンドル、コンビネータメソッドの作成に役立ちます 既存のメソッドハンドルを組み合わせたり、新しいメソッドハンドルに変換したり、ファクトリメソッド 他の一般的なJVM操作をエミュレートしたりフローパターンを制御したりするメソッドハンドルを作成します。 MethodHandles クラスはJava9で拡張され、多くの変更が導入され、 arrayLength()などの新しい静的メソッドが追加されました。 、 arrayConstructor() zero() 、など

構文

public class MethodHandles extends Object

import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;

public class MethodHandlesTest {
   public void MethodHandle1() {
      try {
         MethodHandle methodHandleLength = MethodHandles.arrayLength(int[].class);
         int[] array = new int[] {5, 10, 15, 20};
         int arrayLength = (int) methodHandleLength.invoke(array);
         System.out.println("Length of Array using Method Handle is: " + arrayLength);

         MethodHandle methodHandleConstructor = MethodHandles.arrayConstructor(int[].class);
         int[] newArray = (int[]) methodHandleConstructor.invoke(3);
         System.out.println("Array Constructed using Method Handle of Size: " + newArray.length);

         int x = (int) MethodHandles.zero(int.class).invoke();
         System.out.println("Default Value of Primitive Integer using Method Handles is: " + x);
         String y = (String) MethodHandles.zero(String.class).invoke();
         System.out.println("Default Value of String using Method Handles is: " + y);
      } catch(Throwable e) {
         e.printStackTrace();
      }
   }
   public static void main(String args[]) {
      new MethodHandlesTest().MethodHandle1();
   }
}

出力

Length of Array using Method Handle is: 4
Array Constructed using Method Handle of Size: 3
Default Value of Primitive Integer using Method Handles is: 0
Default Value of String using Method Handles is: null

  1. Java 9でのdestroyForcibly()メソッドの重要性?

    destroyForcibly() メソッドを使用してプロセスを強制終了できます 。プロセスが終了またはフリーズした場合に必要になります。たとえば、 isAlive() destroyForcibly()の後にメソッドはtrueを返します と呼ばれます。 destroyForcibly() メソッドは、終了が正常に要求された場合はtrueを返し、それ以外の場合はfalseを返します。 構文 boolean destroyForcibly() 以下の例では、メモ帳を起動できます。 アプリケーションであり、 destroyForcibly()の後に終了します メソッドが呼び出されました。 例

  2. JavaでのCursorクラスの重要性は何ですか?

    カーソル オブジェクトのサブクラスです クラスであり、ポイントまたはインジケーターとして定義できます。 画面上。 カーソル ユーザーがマウスで操作するシステムからの入力を選択するために使用されます 。 カーソルで使用できるさまざまな種類のカーソル クラスはDEFAULT_CURSOR、CROSSHAIR_CURSOR、HAND_CURSOR、TEXT_CURSOR、WAIT_CURSOR Cursorクラスの重要なメソッドは、 getDefaultCursor()、getName()、getPredefinedCursor()、getSystemCustomCursor()です。 およびge