Maison > Java > javaDidacticiel > Comment créer une instance de VarHandle dans Java 9 ?

Comment créer une instance de VarHandle dans Java 9 ?

王林
Libérer: 2023-09-17 21:53:08
avant
1240 Les gens l'ont consulté

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

De manière générale, un poignée de variable est simplement une référence tapée à une variable. Ce sera un élément array, une instance ou un staticfield d'une classe. La classe VarHandle peut fournir un accès en écriture et en lecture aux variables dans des conditions spécifiques. Ils sont immuables et n’ont aucune condition visible. De plus, ils ne peuvent pas être subdivisés, chaque VarHandle a un type générique T, qui est le type de chaque variable représentée par ce VarHandle. Le but de VarHandle est de définir un standard pour appeler les équivalents des opérations java.util.concurrent.atomic et sun.misc.Unsafe sur les champs et les éléments de tableau.

Dans l'exemple ci-dessous, nous pouvons créer une instance VarHandle en utilisant la méthode MethodHandle.lookup().

Exemple

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"} ;
   }
}
Copier après la connexion

Sortie

<strong>VarHandle instance created successfully!!!</strong>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal