10 Repos
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 ist eine Suite spezialisierter Tools zum Assemblieren, Bearbeiten, Deobfuskieren, Dekompilieren und Instrumentieren von Java-Bytecode und Laufzeitprozessen. Es bietet eine koordinierte Umgebung zum Modifizieren kompilierter Java-Klassendateien und zum Analysieren des Verhaltens von Java-Anwendungen. Das Projekt zeichnet sich durch eine mehrstufige Abstraktionsschicht aus, die das Bearbeiten über verschiedene Formate hinweg ermöglicht, sowie durch ein steckbares Framework, das Bytecode durch mehrere konfigurierbare Dekompilierungs-Engines leitet. Es enthält eine eingebettete Skript-Engine und eine Plugin-Architektur, um repetitive Aufgaben zu automatisieren und das Systemverhalten zu erweitern. Das Toolset deckt mehrere hochrangige Funktionsbereiche ab, einschließlich statischer Analyse für die Suche nach Anwendungsinhalten und der Simulation von Methodenausführungszuständen. Es unterstützt zudem Laufzeitinstrumentierung für das Anhängen an Live-Prozesse und automatisierte Bytecode-Transformation zum Entfernen von Obfuskation und Reparieren von Klassendateien. Headless-Ausführung wird über ein Command-Line-Interface unterstützt, um Workflows in externe Build-Pipelines zu integrieren.
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 ist ein JVM-Tool für dynamisches Tracing und Performance-Profiling, das zum Injizieren sicherer Instrumentierungsskripte in eine laufende Java Virtual Machine verwendet wird, ohne dass ein Prozessneustart erforderlich ist. Es fungiert als Java-Agent-Framework und als Model Context Protocol-Server, der JVM-Diagnoseoperationen und Tracing-Tools für Large Language Models und KI-Assistenten bereitstellt. Das Projekt zeichnet sich durch die Ermöglichung von Echtzeit-Code-Injektion und Bytecode-Level-Instrumentierung über ein sicheres binäres Protokoll aus. Es stellt die Produktionsstabilität durch eine statische Sicherheitsanalyse-Engine sicher, die instabile Codemuster, wie Schleifen und Allokationen, während der Skript-Kompilierungsphase blockiert. Das System deckt ein breites Spektrum an Observability-Funktionen ab, einschließlich Methoden-Ausführungs-Tracing, Objekt-Allokations-Tracking und Field-Access-Monitoring. Es bietet Performance-Profiling durch Latenzmetriken und Ausführungsdaten-Sampling und kann benutzerdefinierte Java Flight Recorder-Events für native Analysen ausgeben. Der Agent unterstützt flexible Bereitstellungsstrategien, einschließlich Bootstrapping beim Start oder das Anhängen an Live-Prozesse in containerisierten Umgebungen mittels Fat-JAR-Bundles.
Enables attaching to and modifying live JVM processes via instrumentation APIs for real-time monitoring.
btrace ist ein Java-Tool für dynamisches Tracing und ein Instrumentierungs-Framework für Echtzeit-Diagnosen. Es ermöglicht das Injizieren von Monitoring-Code in laufende Java Virtual Machines, um Verhalten zu analysieren und Prozesse zu diagnostizieren, ohne die Anwendung neu starten zu müssen. Die Plattform verfügt über eine dynamische Probe-Engine zur Ausführung von Einzeilen-Debugging-Befehlen, um Daten auszugeben und Call-Stacks zu verfolgen. Sie bietet ein erweiterbares Tracing-Framework, das benutzerdefinierte Funktionen und externe Integrationen durch isolierte Implementierungsmodule unterstützt. Das System deckt Laufzeit-Performance-Monitoring, Methoden-Ausführungs-Tracing und Java-Anwendungsdiagnose ab. Es erfasst Timing, Exception-Daten und Argumentwerte an Funktions-Ein- und Ausstiegspunkten und verwaltet die Erweiterungssicherheit durch ein Berechtigungssystem, das den Zugriff auf Netzwerk und Dateisystem kontrolliert.
Utilizes Java agents to transform classes at runtime, enabling non-invasive monitoring of running virtual machines.
Small-Spring ist eine vereinfachte Java-Implementierung des Spring-Frameworks, die dazu dient, die interne Architektur von Inversion-of-Control-Containern und Dependency-Injection-Frameworks zu studieren. Es fungiert als Bean-Container, der Objekt-Lebenszyklen verwaltet und Abhängigkeiten durch automatisierte Instanziierung und Property-Injection auflöst. Das Projekt implementiert einen Mechanismus zum Abfangen von Methodenaufrufen mittels dynamischer Proxys, um aspektorientierte Programmierung zu unterstützen. Es trennt Cross-Cutting Concerns von der Geschäftslogik, indem Zielobjekte gewrappt werden, um Methodenausführungen zu modifizieren. Das System umfasst Komponentenerkennung durch Classpath-Scanning und das Laden externer Ressourcen, einschließlich der Analyse von XML-Konfigurationen. Es beinhaltet Application-Context-Management, Bean-Scope-Kontrolle und ein Event-Dispatching-System basierend auf dem Observer-Pattern, um Systemereignisse und Lifecycle-Hooks zu verarbeiten.
A simplified implementation of the Spring framework for learning.
JaCoCo ist ein Java-Code-Coverage-Tool und Bytecode-Instrumentierer, der misst, welche Teile des Quellcodes während Tests ausgeführt werden. Er fungiert als Runtime-Agent zur Überwachung der Anwendungsausführung im laufenden Betrieb oder als Bibliothek für Offline-Bytecode-Instrumentierung, wodurch er Ausführungsdaten in Umgebungen erfassen kann, in denen Runtime-Agenten eingeschränkt sind. Das Projekt zeichnet sich dadurch aus, dass es sowohl dynamische als auch statische Instrumentierungspfade zur Verfolgung der Ausführung bietet. Es enthält einen Runtime-Agenten für die Überwachung im laufenden Betrieb und die Möglichkeit, kompilierte Klassendateien vor der Ausführung zu modifizieren. Es ermöglicht zudem das Abrufen von Ausführungsmetriken aus laufenden Prozessen über Remote-Netzwerkverbindungen, ohne die aktive Anwendung zu unterbrechen. Das System berechnet quantitative Coverage-Metriken über Anweisungen, Zweige, Zeilen, Methoden und Klassen hinweg, neben Messungen der zyklomatischen Komplexität. Es bietet Funktionen zum Zusammenführen von Daten aus mehreren Testläufen, zur Durchsetzung von Coverage-Schwellenwerten innerhalb von CI/CD-Quality-Gates und zur Generierung von Berichten, die ausgeführten Bytecode auf den Quellcode zurückführen. Eine visuelle Integration ist verfügbar, um diese Ergebnisse direkt in Code-Editoren anzuzeigen. Das Tool lässt sich in Build-Automatisierungssysteme und Befehlszeilenschnittstellen integrieren, um die Datenerfassung und Berichterstellung zu automatisieren.
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.