2009-04-09 12 views
0

J'ai effectué quelques optimisations HotSpot en Java. Cependant, je suis maintenant préoccupé par l'espace par rapport aux classes de chargement (c'est-à-dire, seulement besoin d'une méthode dans une classe, je ne veux pas en charger d'autres). Comment ferais-je cela?Concernant l'optimisation HotSpot en Java

Répondre

1

Charger un cours est une proposition tout ou rien, autant que je sache. Vous n'avez pas à choisir par la méthode.

Quel problème essayez-vous vraiment de résoudre ici? Si vous avez des problèmes de mémoire, cela ne devrait pas être votre première pensée.

4

Quel type d'optimisation HotSpot avez-vous réalisé? Êtes-vous en train de réécrire le bytecode lors de la définition de classes? Java permet deux niveaux de chargement: non résolus et résolus. Ce dernier signifie "charger/lier dans toutes les classes référencées par cette classe", ce qui inclut toutes les classes référencées par n'importe quelle signature de champ ou de méthode et toutes les classes nécessaires à l'initialiseur statique. Il n'y a aucun moyen de charger une partie d'une classe. Si vous avez seulement besoin d'une méthode dans une certaine classe, pourquoi ne pas lancer cette méthode dans une autre classe?