Heim  >  Artikel  >  Java  >  Wie erstellen wir eine Instanz von VarHandle in Java 9?

Wie erstellen wir eine Instanz von VarHandle in Java 9?

王林
王林nach vorne
2023-09-17 21:53:081148Durchsuche

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

Im Allgemeinen ist ein Variablenhandle nur ein typisierter Verweis auf eine Variable. Es wird ein Array-Element, eine Instanz oder ein statischesFeld der Klasse sein. Die Klasse VarHandle kann unter bestimmten Bedingungen Schreib- und Lesezugriff auf Variablen bereitstellen. Sie sind unveränderlich und haben keine sichtbaren Bedingungen. Darüber hinaus können sie nicht unterteilt werden, da jedes VarHandle einen generischen Typ T hat, der der Typ jeder Variablen ist, die durch dieses VarHandle dargestellt wird. Das Ziel von VarHandle ist es, einen Standard für den Aufruf der Äquivalente von java.util.concurrent.atomic und sun.misc.Unsafe Operationen auf Feldern und Array-Elementen zu definieren.

Im folgenden Beispiel können wir eine

VarHandle-Instanz mit der Methode MethodHandle.lookup() erstellen. Beispiel

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"} ;
   }
}

Ausgabe

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

Das obige ist der detaillierte Inhalt vonWie erstellen wir eine Instanz von VarHandle in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen