> Java > java지도 시간 > 본문

Java 9에서 VarHandle 인스턴스를 어떻게 생성합니까?

王林
풀어 주다: 2023-09-17 21:53:08
앞으로
1213명이 탐색했습니다.

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

일반적으로 변수 핸들은 변수에 대한 형식화된 참조일 뿐입니다. 클래스의 array 요소, instance 또는 staticfield이 됩니다. VarHandle 클래스는 특정 조건에서 변수에 대한 쓰기 및 읽기 액세스를 제공할 수 있습니다. 불변이며 눈에 보이는 조건이 없습니다. 또한 세분화할 수 없으며 각 VarHandle에는 VarHandle이 나타내는 각 변수의 유형인 일반 유형 T이 있습니다. VarHandle의 목표는 필드 및 배열 요소에 대한 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿