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

Java 9で静的VarHandleを作成するにはどうすればよいですか?


VarHandle は変数への参照であり、さまざまなアクセスモード(プレーンなど)で変数へのアクセスを提供します。 読み取り/書き込み揮発性 読み取り/書き込み 、およびコンペアアンドスワップ )、 java.util.concurrent.atomicによって提供される機能と同様です およびsun.misc.Unsafe 。変数は配列にすることができます 要素、インスタンス または静的 クラス内のフィールド。

以下の例では、静的変数ハンドルを作成できます。

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

public class StaticVarHandleTest {
   static int field;
   static int[] array = new int[20];
   static final VarHandle FIELD, ARRAY;
   static {
      try {
         FIELD = MethodHandles.lookup().in(StaticVarHandleTest.class).findStaticVarHandle(StaticVarHandleTest.class, "field", Integer.TYPE);
         ARRAY = MethodHandles.arrayElementVarHandle(int[].class);
      } catch(Exception e) {
         throw new InternalError(e);
      }
   }
   public static void main(String args[]) throws Exception {
      int i = (int)FIELD.getVolatile();
      System.out.println(i);
      FIELD.getAndAdd(5);
      System.out.println(field);
      System.out.println(ARRAY.getAndAdd(array, 5, 5));
      System.out.println(ARRAY.getAndAdd(array, 5, 5));
   }
}
出力
0
5
0
5

  1. Javaを使用してJSON配列を作成/作成する方法は?

    Json配列は、角かっこで囲まれた順序付けられた値のコレクションです。つまり、「[」で始まり、「]」で終わります。配列の値は「、」(コンマ)で区切られます。 サンプルJSON配列 {    "books": [ Java, JavaFX, Hbase, Cassandra, WebGL, JOGL] } json-simpleは、JSONオブジェクトを処理するために使用される軽量ライブラリです。これを使用すると、Javaプログラムを使用してJSONドキュメントのコンテンツを読み書きできます。 JSON-単純なMaven依存関係 以下は、JSON-si

  2. Javaで一時ファイルを作成する方法

    情報を保存して後で削除するために、その場で一時ファイルを作成する必要がある場合があります。 Javaでは、Files.createTempFile()を使用できます。 一時ファイルを作成する方法。 一時ファイルを作成する 次の例では、Files.createTempFile(prefix, suffix)を使用しています。 一時ファイルを作成します。 import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; public class CreateTempFile { pu