Ruby · Avançado · Inglês · Técnico
JRuby
Implementação do Ruby na JVM, que roda código Ruby com threads nativas, sem GVL, e permite chamar bibliotecas Java direto do Ruby. Tem inicialização mais lenta.
Onde usar
Aparece em empresas com base Java ou quando se precisa de paralelismo real de threads. Gems com extensões em C não funcionam: exigem versão Java ou alternativa.
Em código
require "java"
lista = java.util.ArrayList.new
lista.add("ruby")
lista.add("jvm")
puts lista.size # => 2
puts RUBY_PLATFORM # => javaExemplos
We run Rails on JRuby to reuse our Java libraries.
Rodamos Rails no JRuby para reaproveitar nossas bibliotecas Java.
JRuby threads run in parallel because there is no GVL.
As threads do JRuby rodam em paralelo porque não há GVL.
Cuidado
Não presuma compatibilidade total com o CRuby: extensões nativas em C e fork não funcionam, e a versão da linguagem acompanha com atraso.
Antônimos
CRuby