JRuby

From Rosetta Code
Revision as of 22:19, 16 September 2011 by rosettacode>Kernigh (Add a link.)
JRuby is an implementation of Ruby. Other implementations of Ruby.
<lang ruby>p RUBY_ENGINE
  1. => "jruby"</lang>

JRuby is an implementation of Ruby that runs inside the Java Virtual Machine and can call Java libraries from Ruby code. JRuby 1.6.x implements both Ruby 1.8.7 and Ruby 1.9.2 in one install.

JRuby has preemptive concurrency like Java; each Ruby Thread is a Java Thread. JRuby can run multiple threads in parallel on multiple CPUs, if the JVM can do so. MRI has a Global VM Lock and can run these threads on only one CPU. In contrast, JRuby can never fork processes; MRI can fork with some platforms.

JRuby implements the interpreter and most of the core library in Java. The standard library is a mix of Java and Ruby.