2010-03-18 1 views
2

C'est à ce moment que vous avez un fichier JAR attaché à votre chemin de classe. puis, pour autant que je sache, n'importe quelle classe du pot est chargée pour la première fois lorsque,Dans quels cas une nouvelle classe sera-t-elle chargée?

  1. lorsque vous créez un objet de ce type. ou
  2. Si vous accédez à un membre statique ou à une méthode de cette classe. ou
  3. lorsque vous chargez cela en utilisant la méthode Class.forName().

Y a-t-il d'autres façons de charger une classe pour la première fois?

+0

AFAIK Il y a une différence dans le comportement selon que vous démarrez Java dans le client ou en mode serveur. – ZeissS

Répondre

2

Je pense que cela couvre à peu près tout, bien sûr, le chargement des classes est "transitif".

Si vous chargez une classe qui référence X (par exemple, en tant que valeur de retour, instanciation, etc.), X doit être chargé.

Je ne suis pas sûr si le chargeur est autorisé à retarder la charge réelle jusqu'à ce que la référence soit vraiment nécessaire.

Questions connexes