Boîte à outils d'ingénierie de bytecode Java
Copyright (C) 1999-2023 par Shigeru Chiba, Tous droits réservés.
Javassist (JAVA Programming ASSISTant) simplifie la manipulation du bytecode Java. Il s'agit d'une bibliothèque de classes pour éditer des bytecodes en Java ; il permet aux programmes Java de définir une nouvelle classe au moment de l'exécution et de modifier un fichier de classe lorsque la JVM le charge. Contrairement à d'autres éditeurs de bytecode similaires, Javassist propose deux niveaux d'API : le niveau source et le niveau de bytecode. Si les utilisateurs utilisent l'API au niveau source, ils peuvent modifier un fichier de classe sans connaître les spécifications du bytecode Java. L'ensemble de l'API est conçu avec uniquement le vocabulaire du langage Java. Vous pouvez même spécifier le bytecode inséré sous forme de texte source ; Javassist le compile à la volée. D'autre part, l'API au niveau du bytecode permet aux utilisateurs de modifier directement un fichier de classe comme les autres éditeurs.
Ce logiciel est distribué sous la licence publique Mozilla version 1.1, la licence publique générale limitée GNU version 2.1 ou ultérieure, ou la licence Apache version 2.0.
README.md Ce fichier Lisez-moi.
Notes de version Changes.md.
License.html Fichier de licence.
tutoriel/tutorial.html Tutoriel.
./javassist.jar Le fichier jar Javassist (fichiers de classe).
./src/main Les fichiers sources
Exemples.md Comment exécuter des exemples.
html/index.html La première page du document de l'API Javassist.
Pour imprimer le numéro de version, tapez cette commande :
java -jar javassist.jar
Le développement de ce logiciel est financé en partie par les programmes PRESTO et CREST de l'Agence japonaise pour la science et la technologie.
Je tiens à remercier Michiaki Tatsubori, Johan Cloetens, Philip Tomlinson, Alex Villazon, Pascal Rapicault, Dan HE, Eric Tanter, Michael Haupt, Toshiyuki Sasaki, Renaud Pawlak, Luc Bourlier, Eric Bui, Lewis Stiller, Susumu Yamazaki, Rodrigo Teruo Tomita, Marc Segura-Devillechaise, Jan Baudisch, Julien Blass, Yoshiki Sato, Fabian Crabus, Bo Norregaard Jorgensen, Bob Lee, Bill Burke, Remy Sanlaville, Muga Nishizawa, Alexey Loubyansky, Saori Oki, Andreas Salathe, Dante Torres estrada, S. Pam, Nuno Santos, Denis Taye, Colin Sampaleanu, Robert Bialek, Asato Shimotaki, Howard Lewis Ship , Richard Jones, Marjan Sterjev, Bruce McDonald, Mark Brennan, Vlad Skarzhevskyy, Brett Randall, Tsuyoshi Murakami, Nathan Meyers, Yoshiyuki Usui Yutaka Sunaga, Arjan van der Meer, Bruce Eckel, Guillaume Pothier, Kumar Matcha, Andreas Salathe, Renat Zubairov, Armin Haaf, Emmanuel Bernard, Jason T. Greene, Omer Kaspi et tous les autres contributeurs de leurs apports.
par Shigeru Chiba