Dans un projet qui utilise intensément la réflexion pour sélectionner des classes en fonction de l'environnement, existe-t-il un moyen de déterminer quelles bibliothèques inclure dans la construction? En ce moment, sortir une bibliothèque du projet est un pari, mais s'en tenir au plan actuel de «tout inclure, c'est la seule façon d'être sûr» rend le tout gonflé et lourd.Classpaths and reflection
Répondre
Malheureusement il n'y en a pas car cela serait difficile pour les classes chargées dynamiquement, en particulier en utilisant des usines où le nom de classe est passé en Strings. Si vous prenez en charge les options -Xcomp and -Xbatch
et -XX:CompileThreshold
, vous pouvez l'utiliser dans votre environnement de développement et de test. Cela va augmenter votre temps de démarrage.
Ces options faciliteront simplement votre travail, mais vous devrez probablement encore vous tester à fond.
Vous pouvez utiliser JavaAssist lib pour inclure de nouveaux chemins de classe ou modifier des classes lors de l'exécution.
Vous pouvez enregistrer un nom de répertoire que le chemin de recherche de classe. Par exemple, le code suivant ajoute un répertoire/usr/local/javalib sur le chemin de recherche:
ClassPool pool = ClassPool.getDefault();
pool.insertClassPath("/usr/local/javalib");
Le chemin de recherche que les utilisateurs peuvent ajouter est non seulement un répertoire mais aussi une URL:
ClassPool pool = ClassPool.getDefault();
ClassPath cp = new URLClassPath("www.javassist.org", 80, "/java/", "org.javassist.");
pool.insertClassPath(cp);
- 1. .NET Reflection
- 2. scala reflection
- 3. Question sur Specular Reflection
- 4. C# enums/reflection
- 5. Webservice Reflection Exception
- 6. À quoi sert Reflection dans .NET?
- 7. Générer lambda avec Reflection Info
- 8. Trouver un champ privé avec Reflection?
- 9. Comment utilisez-vous .net Reflection avec T4?
- 10. Java Reflection est égal à Question
- 11. Substitution d'une méthode privée avec Reflection
- 12. .Net Reflection - Appeler des méthodes non existantes
- 13. Création d'une instance de HttpPostedFile avec Reflection
- 14. Java Reflection - Multidimensional Float Array Class
- 15. ComboBox SelectedValue via Reflection comme DependencyProperty
- 16. NoSuchMethodException lors de l'utilisation de JAVA Reflection
- 17. Conversions de types implicites dans Reflection
- 18. Service OData WCF avec Reflection Provider
- 19. Lucene QueryParser interprète 'AND AND OR' comme une commande?
- 20. Pourquoi cet exemple MSDN sur Reflection échoue-t-il?
- 21. stage.addChild and layering
- 22. ClickOnce and Security
- 23. SWFAddress and Data Persistence
- 24. Hpricot and Rails
- 25. TypecastingTechniques and Uncertainity
- 26. Zend Framework and Parameters
- 27. AJAX requests and THIS
- 28. Configuration Spring and Hibernate
- 29. Ubuntu Logs and Monitoring
- 30. Web Workers and Canvas
Aussi, vérifiez cette question: http://stackoverflow.com/questions/3369791/java-vm-tuning-xbatch-and-xcomp – naikus