Features

Enterprise-Grade Java ↔ .NET Integration

In-process. Type-safe. Production-proven.

Java 8-25 Support

Full support for legacy Java 8 through modern Java 25. Backward compatible—run Java 8 bytecode on Java 17 JVM seamlessly.

Learn more →

Native Performance

In-process JNI-based communication. Zero marshalling overhead. 50%+ faster than REST/gRPC for large payloads.

Benchmarks →
🔒

Cyber-Safe by Design

No network channels, no attack surface. Both runtimes in same process with complete memory isolation.

Security details →
🎯

Type-Safe APIs

Strongly-typed wrappers for all Java/NET APIs. Full IntelliSense support. Compile-time error checking.

See examples →

How It Works

JCOBridge Architecture

In-Process Integration via JNI

JCOBridge uses pure JNI (Java Native Interface) for bidirectional communication between .NET and JVM. Both runtimes exist in the same process, each executing native code at full speed.

Why This Matters:

  • Zero Marshalling: Objects remain in their native runtime—no serialization overhead
  • Zero Network Latency: No REST APIs, no gRPC, no network stack
  • Memory Efficient: Direct pointer references, not data copies
  • Type Safe: Strongly-typed wrappers at compile time

vs Alternative Approaches:

Approach Performance Complexity Security
JCOBridge (JNI) 🟢 Native 🟢 Low 🟢 No Attack Surface
REST APIs 🔴 10-100x slower 🟡 Medium 🔴 Network exposed
gRPC 🟡 3-10x slower 🟡 Medium 🔴 Network exposed
Custom Channels 🟡 Varies 🔴 High 🔴 Attack surface

🆕 Java 8-25 Support

Full Version Coverage

JCOBridge supports all major Java versions from Java 8 (2014) through Java 25 (2025).

Java Version Release Year Support Status
Java 8 (LTS) 2014 NEW Fully Supported
Java 11 (LTS) 2018 ✅ Fully Supported
Java 17 (LTS) 2021 ✅ Fully Supported
Java 21 (LTS) 2023 ✅ Fully Supported
Java 25 (LTS) 2025 ✅ Fully Supported

Extended Support: Oracle provides Java 8 Extended Support until December 2030. Free alternatives (Amazon Corretto, Azul Zulu) provide long-term updates.

Backward Compatibility

Mix Java Versions Seamlessly


┌─────────────────────────────┐
│ Java 17 JVM                 │
│                             │
│  ✅ Java 8 bytecode         │ ← Legacy code
│  ✅ Java 11 bytecode        │ ← Mid-tier code
│  ✅ Java 17 bytecode        │ ← Modern code
│                             │
│  All work together!         │
└─────────────────────────────┘
                

Key insight: Newer JVMs run older bytecode. Use Java 17 JVM and your Java 8 libraries will work without any code changes.

Example: Mixed Java Versions

// .NET application using Java 17 JVM

// Call legacy Java 8 library
var legacyValidator = new com.company.LegacyLib(); // Java 8
legacyValidator.Validate(data); // ✅ Works!

// Call modern Java 17 library
var modernService = new com.company.ModernLib(); // Java 17  
modernService.Process(data); // ✅ Works!

// Both in same process, zero migration needed!
                
View Java 8 Integration Guide →

⚡ Performance Characteristics

Method Call Overhead

~5-10%

vs pure Java or pure .NET calls

Typical: 10-20 nanoseconds per call

Large Data Transfer

50%+ Faster

vs REST/gRPC for payloads >10KB

Zero-copy via native pointers

Memory Footprint

10-20 MB

for reference tracking layer

Minimal overhead for integration

Latency

Microseconds

vs milliseconds for network calls

1000x faster than REST

Why So Fast?

1. Zero Marshalling

Objects stay in their native runtime. JCOBridge passes pointer references, not serialized data. This eliminates the biggest performance bottleneck in cross-platform integration.

2. In-Process Communication

No network stack, no TCP/IP overhead, no socket buffers. Direct memory access within the same process address space.

3. Zero-Copy for Large Data

For arrays and byte buffers, JCOBridge uses pinned memory and DirectByteBuffer. The JVM reads directly from .NET memory (and vice versa).

4. JIT Optimizations

Both JVM JIT and .NET JIT can optimize hot paths. The thin JNI layer doesn’t prevent runtime optimizations.

Real-World Performance Examples

Use Case Data Size JCOBridge REST API Improvement
Method call (no data) 0 bytes ~20 ns ~1-5 ms 50,000x faster
String parameter 100 bytes ~50 ns ~1-5 ms 20,000x faster
Image processing 1 MB ~100 μs ~10-50 ms 100-500x faster
Kafka message batch 10 MB ~1 ms ~50-200 ms 50-200x faster

🔒 Cyber-Safe by Design

JCOBridge Architecture

✅ JCOBridge Approach

  • ✅ No network ports opened
  • ✅ No external attack surface
  • ✅ Memory isolation between runtimes
  • ✅ Standard OS process security applies
  • ✅ No custom protocols to secure

⚠️ Network-Based Approaches


┌──────────────┐     Network      ┌──────────────┐
│ .NET Process │ ◄──────────────► │ Java Process │
│              │   (Exposed!)     │              │
│  Port: 8080  │                  │  Port: 8081  │
└──────────────┘                  └──────────────┘
      ↑                                  ↑
      │                                  │
   Attack                             Attack
   Surface                            Surface
            
  • ❌ Network ports exposed
  • ❌ Attack surface created
  • ❌ Requires firewall rules
  • ❌ Authentication/encryption needed
  • ❌ Vulnerable to MITM attacks

Security Benefits

No Network Exposure

Both runtimes exist in the same process. No listening ports, no network traffic, no external exposure.

Reduced Attack Surface

Network-based integration creates attack vectors (port scanning, MITM, DOS). JCOBridge eliminates these entirely.

Simplified Security Model

No need for TLS certificates, authentication tokens, or custom encryption. OS-level process security is sufficient.

Compliance Friendly

Easier to meet security compliance (PCI-DSS, HIPAA, SOC2) when there’s no network communication between components.

Complete API Coverage

Call .NET from Java

✅ Type System

  • Load any .NET assembly
  • Access all public types
  • Generic types fully supported
  • Nested types and inner classes

✅ Members

  • Instance & static methods
  • Properties (get/set)
  • Fields (get/set)
  • Indexers
  • Constructors

✅ Advanced Features

  • Delegates and events
  • Extension methods
  • Nullable reference types

✅ UI Integration

  • WPF controls in AWT/Swing
  • WinForms in Java UI
  • Event handling
  • Data binding

Example: Call ML.NET from Java


// Java code calling .NET ML.NET library
import microsoft.ml.*;
import microsoft.ml.data.*;

public class FraudDetector {
    public static void main(String[] args) {
        // Create ML.NET context
        MLContext mlContext = new MLContext();
        
        // Load trained model
        ITransformer model = mlContext.Model.Load("fraud-model.zip");
        
        // Make prediction
        var engine = mlContext.Model.CreatePredictionEngine(model);
        var prediction = engine.Predict(transaction);
        
        System.out.println("Fraud probability: " + prediction.Score);
    }
}
            

Call Java from .NET

✅ Type System

  • Load any JAR file
  • Access all public classes
  • Generic types (List<T>, etc.)
  • Inner and anonymous classes

✅ Members

  • Instance & static methods
  • Fields (get/set)
  • Constructors (including varargs)
  • Method overloading

✅ Advanced Features

  • Functional interfaces (lambdas)
  • Streams API
  • Exceptions (try-catch)
  • Reflection API
  • Dynamic code (C# dynamic)

✅ UI Integration

  • Swing/AWT in WPF/WinForms
  • SWT controls
  • Event listeners

Example: Apache Kafka from C#


// C# code calling Apache Kafka Java APIs
using Org.Apache.Kafka.Clients.Producer;
using Java.Util;

public class KafkaProducer
{
    public void SendMessage(string topic, string message)
    {
        // Configure Kafka producer
        var props = new Properties();
        props.Put("bootstrap.servers", "localhost:9092");
        props.Put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        props.Put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        
        // Create producer
        var producer = new KafkaProducer(props);
        
        // Send message
        var record = new ProducerRecord(topic, message);
        producer.Send(record);
        
        producer.Close();
    }
}
            

Platform Support

Operating Systems

  • ✅ Windows 10/11
  • ✅ Windows Server 2016+
  • ✅ Linux (Ubuntu, RHEL, CentOS, Debian)
  • ✅ macOS

.NET Versions

  • ✅ .NET Framework 4.6.2+
  • ✅ .NET 6 (LTS)
  • ✅ .NET 8 (LTS)
  • ✅ .NET 9
  • ✅ .NET 10 (LTS)

Java Versions

  • ✅ Java 8 (JRE 1.8.0_161+) 🆕
  • ✅ Java 11 (LTS)
  • ✅ Java 17 (LTS)
  • ✅ Java 21 (LTS)
  • ✅ Java 25 (LTS)

JVM Distributions

  • ✅ Oracle JDK
  • ✅ OpenJDK
  • ✅ Amazon Corretto
  • ✅ Azul Zulu
  • ✅ Eclipse Temurin
  • ✅ Red Hat OpenJDK
  • ✅ IBM Semeru Runtime
  • ✅ And other OpenJDK-based distributions

Common Use Cases

🏦

Legacy System Integration

Integrate Java 8 core banking or payment systems with modern .NET cloud applications without migration.

  • Avoid $200K-$2M migration costs
  • Keep proven, certified systems
  • Add cloud/ML capabilities via .NET
🏭

Industrial Automation

Bridge Java MES/SCADA systems with .NET Azure IoT and analytics platforms.

  • OPC-UA via .NET libraries
  • Azure IoT Hub integration
  • Real-time dashboards
📊

Event Streaming

Use Apache Kafka from C# with native Java client performance.

  • Full Kafka API access
  • Kafka Streams in .NET
  • Kafka Connect connectors in C#
🤖

AI/ML Integration

Add ML.NET models to Java applications, or use Java ML libraries in .NET.

  • ML.NET in Java apps
  • TensorFlow Java in .NET
  • Cross-platform ML pipelines

Lightweight Footprint

Runtime Overhead

10-20 MB

For reference tracking and JNI layer

Deployment Size

< 5 MB

JCOBridge assemblies/JARs

CPU Usage

Minimal

~5-10% overhead vs native calls

Ideal for embedded systems: JCOBridge’s minimal footprint makes it perfect for resource-constrained environments like IoT gateways, industrial controllers, and edge computing devices.

Production Proven

Built on the field-proven DLR plugin from the Sinapse platform, JCOBridge guarantees reliable performance in demanding enterprise environments.

Ready to Bridge Java and .NET?

Community Edition free for development. Commercial licenses for production use.