java.lang.reflect.Field#slot
은 소스 파일에서 필드가 선언 된 순서대로 시퀀스 번호를 보유합니까?
나는 그것의 사적인 것을 알고있다. 어쨌든 그것을 사용해서는 안된다. 그러나 어쨌든 ...java.lang.reflect.Field # 슬롯이란 무엇입니까?
3
A
답변
2
Field.slot
의미는 구현 정의입니다. HotSpot JVM에는 지정된 클래스에 대한 VM의 내부 필드 배열에 대한 인덱스가 들어 있습니다. Field
오브젝트가 작성 될 때 slot
필드가 JVM 런타임 내에 설정됩니다 (reflection.cpp 참조).
이 색인은 반드시 Java 소스 파일의 필드 순서와 일치하지 않습니다. 이것은 객체 헤더의 필드 오프셋과 관련이 없습니다. slot
의 의미에 대해 어떤 가정도하지 않는 것이 좋습니다. 핵심적인 의미는 JVM이 java.lang.reflect.Field
오브젝트를 Metaspace의 내부 필드 표현으로 빠르게 맵핑 할 수있게하는 것입니다.
1
필드는 JVM에 의해 할당되고 (나는 자바 코드에서 설정할 수 없다.) 어떤 종류의 색인을 포함한다. 클래스 내의 메소드 그래서 서브 클래스의 메소드는 객체에서 그 다음에 가장 낮은 지수를 가지고있는 것 같습니다, 일부 지표는
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
을 :
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);
}
}
}
디스플레이 : 간단한 프로그램은 당신에게 그것에 대해 조금 알 수 있습니다 (선언 된 클래스 내에있을지라도) 고유하지 않습니다.
그래서 나는 무엇이든 가치에 의존하고 싶지 않습니다.
관련 문제
- 1. 슬롯이란 무엇입니까?
- 2. R : 슬롯이란 무엇입니까?
- 3. [Protege] OWL- 슬롯이란 무엇입니까?
- 4. java.lang.reflect.Field 유형이 바이트 배열인지 확인하십시오.
- 5. FLINK 작업 슬롯에 대해 혼동이 있음
- 6. "usr_paths"필드를 얻는 방법은 무엇입니까?
- 7. IllegalAccessException으로부터 보호하는 방법은 무엇입니까? 내가 JDK의 방법에 따라 연구도
- 8. 날짜 선택기에서 날짜 만 가져 오는 방법
- 9. 리플렉션을 사용하여 외부 클래스의 private 멤버에 액세스하는 이유는 무엇입니까? IllegalAccessException?
- 10. datepicker에서 숨기기 일
- 11. R.string의 값을 프로그래밍 방식으로 변경 하시겠습니까?
- 12. 자바 리플렉션 중첩 된 개체 개인 필드를 설정
- 13. HIDE의 반복 된 질문처럼 보일 수 있습니다 숨기기에게 날짜 선택 widget.This에서 올해 필드를 시도 날짜 선택 위젯
- 14. unsafe.allocateMemory가 Java로 반환됩니다.
- 15. 개체 목록/벡터를 구성원의 필드로 정렬 할 수 있습니까?
- 16. 반사 필드 setValue의
- 17. scala reflection error java
- 18. 무엇입니까`COLUMN_NAME_NULLABLE` 무엇입니까
- 19. 상속을 사용한 생성자에서의 리플렉션 (Java)
- 20. 무엇입니까?
- 21. Owin이란 무엇입니까? Asp.Net과의 관계는 무엇입니까?
- 22. com.android.vending.BILLING이란 무엇입니까? 사용 방법은 무엇입니까?
- 23. xcscheme 파일이란 무엇입니까? 목적은 무엇입니까?
- 24. nsoperation이란 무엇입니까? 사용 방법은 무엇입니까?
- 25. 표준 주석이있는 사용자 정의 주입
- 26. 부모 클래스에서 비공개 필드를 변경하는 방법
- 27. HashSet의 초기 용량은 어떻게 구합니까?
- 28. JLabel에서 JTextField의 입력을 표시하는 방법은 무엇입니까? 리플렉션에서 오류를 수정하는 방법?
- 29. JSTL이란 무엇입니까? JSP 태그 라이브러리 란 무엇입니까? 차이점은 무엇입니까?
- 30. HTTP 헤더 란 무엇입니까? charset이란 무엇입니까?