10 dépôts
Core frameworks and libraries for building Java applications.
Explore 10 awesome GitHub repositories matching part of an awesome list · Java Frameworks. Refine with filters or upvote what's useful.
Recaf est une suite d'outils spécialisés pour assembler, éditer, désobfusquer, décompiler et instrumenter le bytecode Java et les processus runtime. Il fournit un environnement coordonné pour modifier les fichiers de classe Java compilés et analyser le comportement des applications Java. Le projet se distingue par une couche d'abstraction multi-niveaux qui permet l'édition à travers différents formats et un framework enfichable qui route le bytecode à travers plusieurs moteurs de décompilation configurables. Il inclut un moteur de script embarqué et une architecture de plugin pour automatiser les tâches répétitives et étendre le comportement du système. L'ensemble d'outils couvre plusieurs domaines de capacités de haut niveau, incluant l'analyse statique pour rechercher le contenu de l'application et simuler les états d'exécution des méthodes. Il prend également en charge l'instrumentation runtime pour s'attacher aux processus actifs et la transformation automatisée de bytecode pour supprimer l'obfuscation et réparer les fichiers de classe. L'exécution headless est prise en charge via une interface en ligne de commande pour intégrer les workflows dans des pipelines de build externes.
Enables attaching to live Java processes to modify or analyze code during execution.
Byte Buddy is a runtime code generation and bytecode manipulation library for Java. It provides a fluent API for creating and modifying Java classes during execution, enabling developers to define class structures, methods, and fields programmatically without requiring a compiler or direct bytecode assembly. The library supports agent-based class transformation, allowing loaded classes to be modified during JVM startup or runtime through a Java agent that intercepts class loading. It offers bytecode-level method interception for fine-grained control over method behavior, annotation-based code
Provides a Java agent API for transforming loaded classes during application startup or execution.
ChaosBlade is an open-source chaos engineering platform that injects faults into applications, containers, Kubernetes clusters, and host systems to test resilience. It functions as a multi-layer fault injection tool, capable of disrupting system resources, Java, C++, NodeJS, and Golang applications, Docker containers, and Kubernetes pods and nodes from a single interface. The platform distinguishes itself through its architecture, which defines chaos experiments as Kubernetes Custom Resource Definitions for native cluster integration, and supports multiple fault injection mechanisms including
Attaches a Java Agent at runtime to intercept and modify bytecode for injecting delays, exceptions, and failures.
btrace est un outil de traçage dynamique et un profileur de performance JVM utilisé pour injecter des scripts d'instrumentation sécurisés dans une machine virtuelle Java en cours d'exécution sans nécessiter de redémarrage du processus. Il fonctionne comme un framework d'agent Java et un serveur de protocole de contexte de modèle (Model Context Protocol), exposant les opérations de diagnostic JVM et les outils de traçage aux grands modèles de langage et aux assistants IA. Le projet se distingue en permettant l'injection de code en temps réel et l'instrumentation au niveau du bytecode via un protocole binaire sécurisé. Il garantit la stabilité en production grâce à un moteur d'analyse de sécurité statique qui bloque les modèles de code instables, tels que les boucles et les allocations, pendant la phase de compilation du script. Le système couvre un large éventail de capacités d'observabilité, notamment le traçage de l'exécution des méthodes, le suivi de l'allocation d'objets et la surveillance de l'accès aux champs. Il fournit un profilage des performances via des métriques de latence et l'échantillonnage des données d'exécution, et peut émettre des événements Java Flight Recorder personnalisés pour une analyse native. L'agent prend en charge des stratégies de déploiement flexibles, notamment le démarrage au lancement ou l'attachement à des processus en direct dans des environnements conteneurisés à l'aide de bundles fat JAR.
Enables attaching to and modifying live JVM processes via instrumentation APIs for real-time monitoring.
btrace est un outil de traçage dynamique et un framework d'instrumentation Java conçu pour les diagnostics en temps réel. Il permet l'injection de code de surveillance dans des machines virtuelles Java en cours d'exécution pour analyser le comportement et diagnostiquer les processus sans nécessiter de redémarrage de l'application. La plateforme dispose d'un moteur de sondes dynamiques pour exécuter des commandes de débogage sur une ligne afin d'afficher des données et de tracer les piles d'appels. Elle fournit un framework de traçage extensible qui prend en charge des fonctionnalités personnalisées et des intégrations externes via des modules d'implémentation isolés. Le système couvre la surveillance des performances à l'exécution, le traçage de l'exécution des méthodes et les diagnostics d'applications Java. Il capture les temps, les données d'exception et les valeurs des arguments aux points d'entrée et de sortie des fonctions, tout en gérant la sécurité des extensions via un système de permissions qui contrôle l'accès au réseau et au système de fichiers.
Utilizes Java agents to transform classes at runtime, enabling non-invasive monitoring of running virtual machines.
Small-Spring est une implémentation Java simplifiée du framework Spring, conçue pour étudier l'architecture interne des conteneurs d'inversion de contrôle et des frameworks d'injection de dépendances. Il fonctionne comme un conteneur de beans qui gère les cycles de vie des objets et résout les dépendances via l'instanciation automatisée et l'injection de propriétés. Le projet implémente un mécanisme d'interception d'appels de méthodes utilisant des proxies dynamiques pour prendre en charge la programmation orientée aspect. Il sépare les préoccupations transverses de la logique métier en enveloppant les objets cibles pour modifier l'exécution des méthodes. Le système couvre la découverte de composants via le scan du classpath et le chargement de ressources externes, incluant l'analyse de configurations XML. Il inclut la gestion du contexte applicatif, le contrôle de la portée des beans et un système de dispatch d'événements basé sur le pattern observateur pour gérer les événements système et les hooks de cycle de vie.
A simplified implementation of the Spring framework for learning.
JaCoCo est un outil de couverture de code Java et un instrumentateur de bytecode qui mesure quelles parties du code source sont exécutées pendant les tests. Il fonctionne comme un agent de runtime pour surveiller l'exécution de l'application à la volée ou comme une bibliothèque pour l'instrumentation de bytecode hors ligne, lui permettant de capturer des données d'exécution dans des environnements où les agents de runtime sont restreints. Le projet se distingue en fournissant des chemins d'instrumentation dynamiques et statiques pour suivre l'exécution. Il inclut un agent de runtime pour la surveillance à la volée et la capacité de modifier les fichiers de classe compilés avant l'exécution. Il permet en outre la récupération des métriques d'exécution à partir de processus en cours d'exécution via des connexions réseau distantes sans interrompre l'application active. Le système calcule des métriques de couverture quantitatives à travers les instructions, les branches, les lignes, les méthodes et les classes, aux côtés des mesures de complexité cyclomatique. Il fournit des capacités pour fusionner les données de plusieurs exécutions de test, appliquer des seuils de couverture au sein des portes de qualité CI/CD et générer des rapports qui mappent le bytecode exécuté vers le code source. Une intégration visuelle est disponible pour afficher ces résultats directement au sein des éditeurs de code. L'outil s'intègre aux systèmes d'automatisation de build et aux interfaces de ligne de commande pour automatiser la collecte de données et la génération de rapports.
Functions as a Java agent that monitors application execution on the fly to record coverage data.
像我们之前完成手写 Spring一样,拆解功能、简化流程、渐进实现,让读者能够更容易的学习到最有价值的知识。
A lightweight ORM framework implementation for educational purposes.
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Introductory examples for building microservices with Spring Cloud.
itstack-demo-frame
A collection of service framework components and scaffolding.