java.lang.reflect.Field#slot
は、ソースファイル内でフィールドがどのように宣言された順序でシーケンス番号を保持していますか?
私はそのプライベートを知っているので、それを使うべきではありませんが、とにかくそれを使うべきではありません。java.lang.reflect.Field#slotとは何ですか?
3
A
答えて
2
Field.slot
意味は実装定義です。 HotSpot JVMには、指定されたクラスのVMの内部フィールド配列へのインデックスが含まれています。 Field
オブジェクトが作成されると、slot
フィールドがJVMランタイム内に設定されます。reflection.cppを参照してください。
このインデックスは、Javaソースファイル内のフィールドの順序と必ずしも一致しません。これは、オブジェクトヘッダーからのフィールドのオフセットには関係しません。 slot
の意味については、何も仮定しない方が良いです。重要な意味は、JVMがjava.lang.reflect.Field
オブジェクトをMetaspaceの内部フィールド表現にすばやくマップできるようにすることです。
1
フィールドはJVMによって割り当てられます(Javaコードでは設定できません)。クラス内のメソッド簡単なプログラムは、それについてあなたに少しを伝えることができます:
package slot;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class SlotTester {
public void method1() {
}
public void method2() {
}
public static void method3() {
}
public void method4() {
}
public static void main(String[] args) throws Exception {
SlotTester s = new SlotTester();
Method[] methods = s.getClass().getMethods();
for (Method method : methods) {
Field f = method.getClass().getDeclaredField("slot");
f.setAccessible(true);
Integer slot = (Integer) f.get(method);
System.out.println(method.getName() + " " + slot);
}
}
}
ディスプレイ:
main 1
method1 2
method2 3
method3 4
method4 5
wait 3
wait 4
wait 5
equals 6
toString 7
hashCode 8
getClass 9
notify 12
notifyAll 13
だから、サブクラスのメソッドは、オブジェクトのものに続いて、最低のインデックスを持っているように見える、といくつかの指標であります(宣言されたクラスの中にあるかもしれませんが)一意ではありません。
だから私は何かの価値に頼りたくはありません。
関連する問題
- 1. をjava.lang.reflect.Field
- 2. javafx.scene.control.TextFieldにjava.lang.reflect.Fieldを発行することは可能ですか?
- 3. java.lang.reflect.Field getType()結果はequals()を使用する型と比較できません
- 4. 問題 - SLOT、aboutToQuit()
- 5. Slot Machine using methods
- 6. The Slot Game Concern
- 7. Redis Cross Slotエラー
- 8. Vue Slotのスタイリング
- 9. TYPO3 fal_securedownload Slot
- 10. QtのSLOTのタイプは?
- 11. VueJs。 1つを<slot>に渡すことは可能ですか?
- 12. Q_SIGNALS、Q_SLOT、SLOT()、SIGNAL()マクロの定義を見ることはできますか? (Qt)
- 13. SLOTの問題/ C++
- 14. Protégé-OWL: "Multi slot" Object
- 15. コンポーネント内部のコンポーネントからのメソッドの呼び出し<slot></slot>
- 16. SLOTを観察するには?
- 17. Java PKCS#11の設定 - 'slot'と 'slotListIndex'
- 18. なぜSLOT( 'insertColumn()')がPyQtバインディングで失敗するのですか?
- 19. Vue.jsは<slot>に親コンポーネントをレンダリングすることはできません
- 20. Qt Designer:デザイナーからslotを削除するには?
- 21. Azure ASP.NET Warm Up and Deployment Slot
- 22. Cocos2d js Slotゲームは大画面サイズで遅くなります
- 23. Qt。接続SLOT()でローカル変数を使用することは可能ですか?
- 24. 拡張QTreeWidgetItemでは、QTreeWidgetではなくSLOTを呼び出すにはどうすればよいですか?
- 25. トランスフォームとは何か、トランスフォームとは何ですか?
- 26. jobConfクラスとは何ですか?それは何ですか?
- 27. @privateとは何ですか?その用途は何ですか?
- 28. IPM.Noteとは何ですか?その用途は何ですか?
- 29. _applyプラグインとは何ですか: 'com.google.gms.google-services'_は何ですか?
- 30. Mongoclientとは何ですか?その目的は何ですか?