- 含まれているインタフェース:
- MemorySegment
public static sealed interface MemorySegment.Scope
スコープは、関連付けられているすべてのメモリー・セグメントのlifetimeをモデル化します。
 
つまり、メモリー・セグメントは、関連するスコープがaliveでない場合はアクセスできません。 スコープ・インスタンスは等価性を比較できます。 つまり、同じ存続期間を示す場合、2つのスコープはequalとみなされます。
 メモリー・セグメントの存続期間は、「制限なし」または「有限」のいずれかです。 バインドされていない存続期間は、「グローバル・スコープ」でモデル化されます。 グローバル・スコープは常にaliveです。 そのため、グローバル・スコープに関連付けられたセグメントは、簡単な時間的境界を備えており、常にアクセスできます。 グローバル・スコープに関連付けられたセグメントは次のとおりです。 
 
- 「グローバル・アリーナ」から取得したセグメント。
- MemorySegment.ofAddress(long)ファクトリを使用してRAWアドレスから取得されたセグメント。
- 長さ0のメモリー・セグメント。
 逆に、バインドされた存続期間は、explicitlyまたはガベージ・コレクタによって自動的に無効化できるセグメント・スコープでモデル化されます。 自動的に無効化されるセグメント・スコープは、「自動スコープ」です。 自動スコープは、「到達可能」であるかぎり、常にaliveです。 自動スコープに関連付けられたセグメントは次のとおりです。 
 
- 「自動アリーナ」から取得されたセグメント。
- MemorySegment.ofArray(int[])ファクトリを使用するなど、Java配列から取得したセグメント。
- MemorySegment.ofBuffer(Buffer)ファクトリを使用してバッファから取得されたセグメント。
- 「ローダー・ルックアップ」から取得したセグメント。
byte[] arr = new byte[10];
MemorySegment segment1 = MemorySegment.ofArray(arr);
MemorySegment segment2 = MemorySegment.ofArray(arr);
assert segment1.scope().equals(segment2.scope());
- 
メソッドのサマリー
- 
メソッドの詳細- 
isAliveboolean isAlive()このスコープに関連付けられたメモリー・セグメントをバッキングするメモリーのリージョンがまだ有効な場合は、trueを返します。- 戻り値:
- true。このスコープに関連付けられたメモリー・セグメントをバッキングするメモリーのリージョンがまだ有効な場合
 
- 
equals
- 
hashCodeint hashCode()このスコープ・オブジェクトのハッシュ・コードを返します。- オーバーライド:
- hashCode、クラス- Object
- 実装要件:
- このメソッドの実装は、Object.hashCode()の一般的な契約に従います。
- 戻り値:
- このスコープ・オブジェクトのハッシュ・コード
- 関連項目:
 
 
-