6 Repos
Direct integration with Java libraries and classes within the same virtual machine.
Distinct from Java Virtual Machine Bridges: Existing candidates focus on bridges between different languages or JVM runtimes, not the inherent compatibility of a JVM-native language.
Explore 6 awesome GitHub repositories matching programming languages & runtimes · Java Interoperability. Refine with filters or upvote what's useful.
Groovy ist eine JVM-Programmiersprache und ein Metaprogrammierungs-Framework, das eine Java-kompatible Umgebung für die Anwendungsentwicklung bietet. Es fungiert als dynamische Skriptsprache und als Werkzeug zum Verfassen domänenspezifischer Sprachen, was die Ausführung benutzerdefinierter Skripte und die Erstellung spezialisierter Minisprachen mit prägnanter Syntax ermöglicht. Das Projekt zeichnet sich durch die Fähigkeit aus, Programmverhalten und Klassendefinitionen sowohl durch Compile-Time- als auch durch Runtime-Metaprogrammierung zu modifizieren. Es nutzt ein hybrides Typisierungsmodell, das dynamische Methodenauflösung mit optionaler statischer Typüberprüfung kombiniert, um Flexibilität und Ausführungsperformance in Einklang zu bringen. Die Sprache deckt ein breites Spektrum an Funktionen ab, einschließlich funktionaler Programmiermuster, AST-Transformationen und der direkten Integration von Java-Bibliotheken. Sie enthält zudem Sicherheitswerkzeuge zur Vermeidung von SQL-Injection, zur Absicherung des XML-Parsings und zur Gewährleistung eines sicheren Parsings strukturierter Daten. Das System übersetzt High-Level-Syntax in JVM-Bytecode zur Ausführung auf jeder kompatiblen Java Virtual Machine.
Enables direct integration and interoperability with Java libraries and classes within the same virtual machine.
Joda-Time ist eine Java-Datum- und Zeitbibliothek und ein Framework, das für das Parsen, Darstellen und Berechnen temporaler Daten verwendet wird. Es bietet eine thread-sichere temporale API, die unveränderliche Objekte verwendet, um Nebenläufigkeitssicherheit zu gewährleisten, und entspricht dem ISO8601-Standard. Das Projekt zeichnet sich durch sein erweiterbares Kalendersystem aus, das diverse Chronologien unterstützt, einschließlich gregorianischer, buddhistischer, koptischer, äthiopischer und islamischer Kalender. Es fungiert zudem als Zeitzonen-Management-Tool, das eine interne IANA-basierte Zonendatenbank verwendet, um Zeitpunkte zu übersetzen und Sommerzeitregeln unabhängig von der Host-Laufzeitumgebung zu aktualisieren. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich temporaler Arithmetik für Dauer- und Periodenberechnungen, Zeitzonenverwaltung und Datum-Zeit-Formatierung für natürliche Sprache oder benutzerdefinierte Muster. Sie enthält zudem Tools für deterministische Zeittests durch Mocking der Systemuhr. Das Projekt bietet Interoperabilitäts-Dienstprogramme, um Bibliothekstypen in Standard-Java-Datum- und Kalenderklassen zu konvertieren.
Provides utilities to convert library date-time types into standard Java date and calendar classes for external compatibility.
Apache Dubbo Go ist eine Go-Implementierung des Apache Dubbo-Frameworks, die für den Aufbau von hochperformanten Microservices entwickelt wurde. Es dient als sprachübergreifendes RPC-Framework und Microservices-Kommunikationsschicht, die Remote Procedure Calls zwischen Diensten ermöglicht, die in verschiedenen Programmiersprachen geschrieben sind. Das Framework fungiert als Toolset für Service-Governance und als Proxy für ein verteiltes Service-Mesh, wodurch Datenebenen mit externen Steuerungsebenen in Proxy- oder Proxy-losen Modi verbunden werden können. Es bietet speziell eine Kompatibilitätsschicht, um die Kommunikation zwischen Go- und Java-basierten Diensten durch sprachunabhängige Definitionen und standardisierte Datenkodierung zu erleichtern. Das System deckt ein breites Spektrum verteilter Funktionen ab, einschließlich dynamischer Service-Discovery, strategiebasierter Lastverteilung und Traffic-Management mittels Circuit Breakern und Rate Limiting. Es integriert Observability durch verteiltes Request-Tracing und Performance-Metriken und gewährleistet gleichzeitig Sicherheit durch Transportverschlüsselung und identitätsbasierte Zugriffskontrolle. Die Entwicklerproduktivität wird durch eine Befehlszeilenschnittstelle für das Application-Bootstrapping und die automatisierte Generierung von RPC-Stubs aus Schnittstellendefinitionen unterstützt.
Handles Java-specific data types and exceptions to enable seamless communication between Go and Java-based services.
JRuby ist eine Ruby-Sprachimplementierung, die auf der Java Virtual Machine läuft. Sie dient als sprachübergreifende Runtime und Ausführungsumgebung, die es ermöglicht, Ruby-Code auf der JVM auszuführen und Speicher mit Java-Anwendungen zu teilen. Das Projekt fungiert als Brücke zwischen Ruby und Java und ermöglicht es Ruby-Skripten, Java-Klassen und -Bibliotheken direkt aufzurufen. Es bietet zudem einen Mechanismus, um einen Ruby-Interpreter in Java-Anwendungen einzubetten, um dynamisches Scripting zu ermöglichen. Die Runtime nutzt die JVM für Systemskalierbarkeit und stellt eine konsistente Ausführungsumgebung über verschiedene Betriebssysteme hinweg sicher.
Provides direct integration with Java libraries and classes within the same virtual machine.
This project is a Scala programming course and educational resource. It provides a set of lessons covering the core fundamentals of the language, ranging from basic syntax to advanced type systems. The material includes a functional programming tutorial focused on higher-order functions and pattern matching, as well as guides on managing asynchronous execution and concurrency. It also serves as a resource for understanding the Java Virtual Machine and language interoperability. The course covers the application of polymorphism and variance for type-safe data structures and the use of specifi
Explains how to share data structures and call functions between Scala and Java within the JVM.
Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow
Produces standard JVM class files to make functional logic accessible to any JVM language.