require 'headius/resources'
Resources
Twenty years of JRuby means twenty years of documentation, blog posts, conference talks, and hard-won knowledge. Here's where to find it.
# == Headius::Blog
# Recent writing from the people who build JRuby.
From the Blog
JRuby and Leyden: Even Better Startup
September 2025
Follow-up on JDK 25's AOT cache improvements and what they mean for JRuby startup times in production.
Packaging Ruby Apps with Warbler
October 2025
How to bundle your entire Ruby application into a single executable JAR file using Warbler. Deploy anywhere Java runs.
Warbled Sidekiq
October 2025
Packaging Sidekiq as an executable JAR — background jobs that deploy like any other Java artifact.
JRuby 10, Part 1: What's New
April 2025
The headline features in JRuby 10 — Ruby 3.4 compatibility, performance improvements, and the road ahead.
Boosting JRuby Startup with AppCDS
February 2025
Practical techniques for reducing JRuby startup time using Application Class Data Sharing and AOT caching.
JRuby on CRaC: Let's Get CRaCking!
September 2024
Coordinated Restore at Checkpoint — snapshotting a warm JVM to eliminate startup overhead entirely.
More at blog.headius.com
# == Headius::JavaInterop
# The whole point of JRuby, really.
Java Integration
JRuby runs on the JVM, which means full access to the entire Java ecosystem from Ruby. No FFI, no shelling out, no serialisation boundaries — just direct method calls.
- guide Calling Java from JRuby — the essential reference for importing and using Java classes
- guide Java Integration Overview — type conversion, interfaces, and the integration layer
- examples JRuby and Java Code Examples — side-by-side Java and Ruby for common patterns
- embed RedBridge — embedding JRuby inside Java applications
- blog Charts with JRuby and JFreeChart — a practical example of Java library integration
# == Headius::Deploy
# Ship Ruby apps on Java infrastructure.
Deployment & Packaging
JRuby applications can be packaged as standard JAR or WAR files and deployed to any Java application server. Your ops team doesn't need to learn Ruby infrastructure — it's just another JVM artifact.
- tool Warbler — package Ruby applications as executable JAR or deployable WAR files
- guide JRuby on Rails — running Rails applications on JRuby
- guide ActiveRecord-JDBC — database connectivity via JDBC drivers
- guide Application Servers — Puma, Tomcat, and other server options for JRuby
# == Headius::Performance
# Making it fast, then making it faster.
Performance & Tuning
JRuby benefits from decades of JVM optimisation work — JIT compilation, garbage collection tuning, and real threading. These resources cover how to get the most out of it.
- guide Performance Tuning — JVM flags, memory settings, and JRuby-specific options
- guide Improving Startup Time — techniques for reducing cold-start overhead
- guide Concurrency in JRuby — real threads, no GIL — how to take advantage of it
# == Headius::GettingStarted
# Everything you need to begin.
Getting Started
- home JRuby.org — downloads, news, and the official starting point
- docs Getting Started Guide — installation, first steps, and basic configuration
- wiki JRuby Wiki — the comprehensive community reference
- compat C Extension Alternatives — pure-Ruby and Java replacements for native gems
- source GitHub — source code, issues, and contributions
- community Community — mailing lists, chat, and how to get involved
# == Headius::Talks
# Prefer video? We've done a few.
Talks & Presentations
Charles has given dozens of talks at Java and Ruby conferences worldwide. The JRuby wiki has an older list of presentations — here are some more recent ones.
# == Headius::Support
# When the docs aren't enough.
Need More Than Documentation?
Resources are great until you're staring at a production issue at 2am. Our support packages connect you directly to the people who write JRuby — no ticket queues, no escalation paths.