Мы используем отражения для определенного пользователем класса Employee, как:Как JVM хранит метаинформацию о классе?
Employee e = new Employee();
Class c = e.getClass();
По моим сведениям первой виртуальной машины Java загружает байт-код класса Employee, то он также создать объект Class.class для каждого загруженного класса (класс Сотрудник здесь). В объекте класса Class.class JVM хранится метаинформация о недавно загруженном классе.
Мета-информация о классе - это «имя методов», «имя полей» и т. Д. Класс таких типов, как «Метод», «Поле» и т. Д., Определяется в пакете java.lang.reflect.
Я видел код класса.java. Я нашел методы в Class.class, которые возвращают объекты или массив объектов этих типов, таких как «Метод», «Поле» и т. Д. Но в классе Class.class нет поля, тип которого «Метод», «Поле» и т. Д. .
Если мои заявления выше не соответствуют действительности, пожалуйста, сделайте меня правильной. Если вышеприведенные утверждения не ошибаются, у меня возникают следующие сомнения: 1). В какой области Class.class хранится информация о классе? 2). В каком хранилище хранится область памяти объекта JVM Employee и объекта Class.class? 3). В какой области памяти байт-кода JVM Employee и байт-кода Class.class хранятся?
Почему это для вас важно? – Holger