java.lang.reflect.Field#slot
是否按照字段在源文件中声明的顺序保存序列号?
我知道它是私有(private)的,我不应该使用它和其他东西,但无论如何......
最佳答案
Field.slot
含义是实现定义的。在 HotSpot JVM 中,它包含给定类的 VM 内部字段数组的索引。 slot
字段在创建 Field
对象时在 JVM 运行时设置,参见 reflection.cpp .
此索引不一定与 Java 源文件中的字段顺序匹配。它与对象头的字段偏移量无关。最好不要对 slot
的含义做任何假设。关键的意思是让 JVM 可以快速地将一个 java.lang.reflect.Field
对象映射到 Metaspace 中的内部 Field 表示。
关于java - 什么是 java.lang.reflect.Field#slot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47529744/