首頁 >Java >java教程 >在Java 9中,我們如何建立VarHandle的實例?

在Java 9中,我們如何建立VarHandle的實例?

王林
王林轉載
2023-09-17 21:53:081230瀏覽

在Java 9中,我们如何创建VarHandle的实例?

一般來說,變數句柄只是變數的類型化參考。它將是類別的一個陣列元素、一個實例靜態欄位VarHandle類別可以提供特定條件下對變數的寫入和讀取存取。它們是不可變的並且沒有可見的條件。另外,它們不能再細分,每個VarHandle都有一個泛型類型#T,它是代表的每個變數的型別通過這個VarHandleVarHandle的目標是定義一個標準,用於呼叫欄位上java.util.concurrent.atomicsun.misc.Unsafe操作的等效項和數組元素。

在下面的範例中,我們可以使用 MethodHandle.lookup() 方法建立一個 VarHandle 實例。

範例

import java.lang.invoke.VarHandle;
import java.lang.invoke.MethodHandles;

public class VarHandleInstanceTest {
   public static void main(String args[]) {
      try {
         <strong>VarHandle </strong>fieldHandle = <strong>MethodHandles.lookup().in</strong>(Student.class).<strong>findVarHandle</strong>(Student.class, "<strong>studentId</strong>", int.class);
         System.out.println("VarHandle instance created successfully!!!");
      } catch (NoSuchFieldException | IllegalAccessException e) {
         e.printStackTrace();
      }
   }
}

<strong>// Stundent class</strong>
class Student {
   protected int studentId;
   private String[] marks;
   public Student() {
      studentId = 0 ;
      marks = new String[] {"75" , "85" , "95"} ;
   }
}

輸出

<strong>VarHandle instance created successfully!!!</strong>

以上是在Java 9中,我們如何建立VarHandle的實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除