Virtual Machine • Ruby implementation fi rst, JVM language second • Many bene fi ts from JVM ecosystem • Ruby code should "just work" • Try your code, your library • If something doesn't work, let us know!
JRuby • Production users since 2007 • Only alternative Ruby to see widespread production use! • I will showcase a few users for you today • Each user could not use Ruby without JRuby • Maybe your company will be a showcase next year!
sell to the enterprise! • They don't want another runtime • C code is insecure, needs C compiler • Ruby ecosystem missing many libraries • Real world demands parallelism • JRuby is your ticket to the enterprise! • JVM is trusted, secure, parallel, scalable
systems, focusing on smart city mobility and fl eet mobility as a service. • Rails-based GUI apps deployed on- premises with Oracle DB and WebLogic • User-acceptance testing using packaged JRuby apps within customer environments • Ruby-based data processing packaged as JRuby apps run by customers • https://quantuminventions.com/
• Language and core specs: 98% passing • Pure-Ruby standard library shared with CRuby • JRuby support for most native stdlib • JRuby 9.4 supports Ruby 3.1 • Maintained until April 2026
JVM language • Extensions are written in Java, not insecure C code • JVM can optimize Ruby code just like Java • JVM garbage collector is concurrent and ef fi cient • We write Java so you don't have to! • But you can if you want to! (or Scala, Clojure, Kotlin...)
with millions of users • High concurrency and heavy transaction volumes daily • Leveraging JVM ecosystem for resilience, growth, and scaling • Migrating to MongoDB Java driver reduced p50 by 30% and p95 by 35% • https://poshmark.com/
tens of thousands of libraries • Graphics, GUIs, servers, document formats, AI/LLM • One of the largest collections in the dev world • All available to JRuby users! • Easy integration into Ruby apps and code • "Magic" to make Java APIs look like Ruby
library with support for document output • Easily used from JRuby • https://blog.headius.com/ 2025/05/3d-charts-and-more-with- jruby-and-jfreechart.html
le • Like Bundler's Gem fi le • Maven "coordinates" • lock_jars command • Like bundle install jar 'org.jfree:jfreechart:1.5.5' jar 'org.jfree:org.jfree.chart3d:2.1.0' $ lock_jars -- jar root dependencies -- org.jfree:jfreechart:1.5.5:compile org.jfree:org.jfree.chart3d:2.1.0:compile org.jfree:org.jfree.svg:5.0.6:compile org.jfree:org.jfree.pdf:2.0:compile Jars.lock updated Jar fi le
Android • Build apps using Ruby! • Ruboto IRB: demo application • "Ruboto Core" and "Ruboto IRB" APKs • Used in production apps for years • Help us update for latest JRuby, Android
platform with intentional AI, actionable insights, and inclusive tools for students and teachers • Scaling Ruby for high-throughput workloads (millions of PDFs per day) • Access to the vast library of Java document, image, and PDF libraries • Uni fi ed Ruby experience across project teams • https://www.kamiapp.com/
intelligence, integrated into the Atlassian stack • JRuby user since 2011 • Integration with Java libraries like Mondrian OLAP, Apache POI, Batik • Deployment as a Jira plugin .jar fi le • Real multithreading without global lock for heavy parallel worker pools and data import jobs • Deploy on Windows more easily than CRuby • https://eazybi.com/
meeting the challenges of Ruby • JIT compiler: JRuby added JIT in 2008 • Optimized garbage collection: JVMs are best in the world • Concurrency, parallelism: JRuby is fully parallel • We move fast and help solve Ruby's problems!
GCs • Heap size: small or large? • Throughput: faster allocations or shorter pause times? • Working set: large in-memory or mostly new objects? • Many options in standard OpenJDK • Serial, Parallel, G1, ZGC, Shenandoah
most optimization • JVM has world-class JIT compilers, garbage collectors • Similar design to ZJIT, but with 30 years of work in it • JRuby itself has an IR, basic block-based interpreter and JIT • Similar design to ZJIT starting in JRuby 9.0 (2015)
concurrency to Ruby • You must write Ractor-friendly code (immutable objects) • High overhead crossing Ractor boundary • Threads in JRuby are already 100% parallel • Immutable objects FTW • Low overhead for threads and shared memory
in the Elastic stack, for logging, observability, and security • JRuby user since 2012 • Hundreds of thousands of events per second using JRuby's multithreading • Integration with Java libraries and servers • Core queue in Java with integration and plugins handled by JRuby • Deployed as JVM-based package across all platforms • https://www.elastic.co/logstash
teacher alerts and assignment • JRuby users since 2013 • Real concurrency for highly-parallel backend that would be hard in CRuby • Java integration with Firebase for Android noti fi cations • Better performance pro fi ling tools for JVM • https://www.subalert.com/
Now that we are 3.4 compatible, we can work on fun stuff • If you fi nd something that's slow, let us! • More JDK features • JVM features to improve startup, fast native library integration • Upgrade JVM, your JRuby code runs faster!