Каковы сценарии, когда новый класс будет загружен? - PullRequest
2 голосов
/ 18 марта 2010

Это когда у вас есть jar-файл, прикрепленный к вашему пути к классам. тогда, насколько я знаю, любой класс из jar загружается впервые, когда

  1. при создании любого объекта этого типа. или
  2. Если вы обращаетесь к любому статическому члену или методу этого класса. или
  3. при загрузке с помощью метода Class.forName ().

Так есть ли другие способы загрузки класса в первый раз?

Ответы [ 3 ]

2 голосов
/ 18 марта 2010

Это может быть полезно:

5.3 Создание и загрузка в спецификации виртуальной машины JavaTM

2 голосов
/ 18 марта 2010

Я думаю, что это в значительной степени покрывает это, хотя, конечно, загрузка классов "транзитивна".

Если вы загружаете класс, который ссылается на X (например, как возвращаемое значение, как экземпляр и т. Д.), Тогда X должен быть загружен.

Я не уверен, что загрузчику разрешено откладывать фактическую загрузку до тех пор, пока ссылка не станет действительно необходимой.

1 голос
/ 18 марта 2010

Кроме того, всякий раз, когда вызывается ClassLoader.loadClass(className).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...