2 dépôts
Analysis of the Java Virtual Machine, bytecode, and dynamic proxy generation.
Distinct from Java Bytecode Analysis Tools: Extends bytecode analysis tools to include general JVM runtime analysis and dynamic proxy exploration.
Explore 2 awesome GitHub repositories matching development tools & productivity · Runtime Analysis. Refine with filters or upvote what's useful.
Ce projet est un dépôt pédagogique et une ressource d'apprentissage fournissant une collection complète de notes d'étude, de guides de programmation et d'exemples de code exécutables. Il sert de guide pour le développement Java SE et web Java, présentant une bibliothèque d'exemples de code qui démontrent des algorithmes courants et des implémentations techniques. Le dépôt se concentre sur l'analyse du cœur du langage et du runtime, avec des tutoriels détaillés sur le multithreading et la concurrence. Il fournit des implémentations pratiques de l'architecture logicielle et des modèles de conception (design patterns), tels que les modèles singleton et stratégie, ainsi que des explorations de la Java Virtual Machine et du bytecode. Le projet couvre un large éventail de capacités, notamment les fondamentaux du langage comme les génériques et les annotations, les bases du développement web impliquant la gestion des requêtes HTTP et des sessions, et les primitives de concurrence pour le cycle de vie des threads et la synchronisation des ressources. Il inclut également des utilitaires pour la sécurité, le traitement des données et la génération de pages dynamiques.
Explores the inner workings of the JVM and bytecode using reflection and dynamic proxy generation.
Bistoury est un outil de diagnostic de production pour les applications Java qui fournit une console de débogage distribuée, un profileur de performance et un manipulateur de bytecode runtime. Il permet le débogage d'applications en temps réel et le diagnostic de production en analysant les applications Java en cours d'exécution via l'instrumentation dynamique et l'inspection d'état. Le système se distingue par un gestionnaire d'agent distant qui coordonne les connexions de diagnostic et un manipulateur de bytecode runtime capable de redéfinir des classes en mémoire sans nécessiter de redémarrage de processus. Il dispose d'une interface web pour capturer des dumps de tas (heap dumps), des piles de threads et des variables locales à travers plusieurs instances de serveur, pris en charge par une couche de communication médiée par proxy pour router les commandes vers des cibles distantes. Le projet couvre un large éventail de capacités d'observabilité, incluant le profilage des performances CPU via l'échantillonnage de pile asynchrone et les graphiques en flamme (flame graphs), la gestion distribuée des logs sur plusieurs machines et la capture d'état non bloquante utilisant des points d'arrêt conditionnels. Il inclut également des utilitaires de récupération de source qui lient le bytecode runtime au code source original via la décompilation ou l'intégration avec des dépôts Git et Maven. L'outil fournit une console web et des interfaces de ligne de commande pour gérer les logs, récupérer les fichiers système et inspecter la configuration système et les variables d'environnement.
Collects operational data, system properties, and machine metrics to analyze the overall health of the JVM.