コンテンツにスキップ

JRuby

出典: フリー百科事典『ウィキペディア(Wikipedia)』
JRuby
開発元 Charles Nutter、Thomas Enebo、Ola Bini、Nick Sieger
最新版

9.4.1.0 / 2023年2月7日 (16か月前) (2023-02-07)[1]

リポジトリ ウィキデータを編集
対応OS 各種
プラットフォーム Java仮想マシン
種別 Rubyインタプリタ
ライセンス CPL/GPL/LGPL
公式サイト http://www.jruby.org/
テンプレートを表示

JRuby RubyJavaCPL/GPL/LGPL 3JRuby JavaJavaJavaRuby

JRuby  Charles Nutter[1]Thomas Enebo[2]Ola Bini[3]Nick Sieger[4] 20069 Enebo  Nutter  JRuby [2]20076ThoughtWorks  Ola Bini Ruby  JRuby [3] 20097JRubyEngine YardJRuby[4]

[]


JRuby 2001Jan Arne Petersen  Ruby 1.6 CRuby 1.8.6 JRuby  1.8.6 20014

NetBeans Ruby Pack  NetBeans 6.0 Ruby  JRuby 2Ruby Ruby on Rails [5][6]

JRuby 1.1 Ruby 1.8.6 [7][8]

JRuby 1.1.1  Fedora 9 [9][10]

 1.1.1 JRuby[11]

2015722JRuby 9.0.0.03Ruby 2.2[12]

Rails[]


JRuby  0.920065 Ruby on Rails [13][14] RubyGems  WEBrick 2Rails JRuby  1.0  Rails [15]JRuby  Rails 使[16]

 Virtual Machine []


2008227RubyJRuby1[17]

Java[]


JSR 292 (Supporting Dynamically Typed Languages on the JavaTM Platform) [18]

 JVM  invokedynamic 



 Da Vinci Machine JSR[19] OpenJDK 20088[20][21]

JRuby 1.1.5 JVM[22]

[]


2006JRubyCJavaJRuby 使 Ruby on Rails JRubyJRuby20062007JRuby

JRuby  Ruby JITJavaAOTJava2007101.1AOT/JIT[23]Java

JRuby[]


JRuby  Ruby JavaJRuby  Ruby JRuby  Java [24]

JRuby  Java []


JRuby Java "include Java" "require 'java'" JRuby  Java Java JFrame  JLabel 
include Java

frame = javax.swing.JFrame.new()
frame.getContentPane().add(javax.swing.JLabel.new('Hello, World!'))
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.pack()
frame.set_visible(true)

また、JavaコードをよりRuby的なアンダースコアを使った命名規則で呼び出し、JavaBeanのプロパティを属性として参照できる。

frame.content_pane.add label
frame.visible = true

Java から JRuby を呼び出す[編集]


JRuby  Java  JSR 223[25] Scripting for Java 6  Bean Scripting Framework 使 JRuby Wiki 

[]


JRuby AOTJIT21.1[23]

[]


JRuby  Ruby [26]

Rails  Ruby 1.8  50%  70% 

Ruby 1.9 (YARV Java 6 使JRuby  Ruby 4[27]

JIT[]


JIT JRuby 1.1 Ruby 1.8 [28][7] [29] Ruby 1.9 [8]JRuby 1.1  Ruby 1.9 [30]

MongrelWebRuby  JRuby JVM[31]

AOT[]


VMRuby 1.9.1How JRuby Makes Ruby FastRuby 1.8.650Ruby 1.9.110[32]

脚注[編集]



(一)^ JRuby 9.4.1.0 Released. 2023210

(二)^ Jacki (200697). Sun Welcomes JRuby Developers.  On the Record. 200699

(三)^ Ola Bini. ThoughtWorks.  On the Record. 2008916

(四)^ JRuby guys jumped from fear of the unknown (200983). 20091215

(五)^ Ruby & JRuby Support Available in NetBeans IDE

(六)^ Ruby brightens the NetBeans platform 

(七)^ abJRuby performance benchmark.  shootout.alioth.debian.org (2007115). 2007115

(八)^ abCangiano, Antonio (2007312). The Great Ruby Shootout. 200821

(九)^ Nutter, Charles (2008425). JRuby 1.1.1 in RedHat Fedora. 2008426

(十)^ jruby.  fedoraproject.org. 2008426

(11)^ JRuby 1.1.3 Released.  jruby.codehaus.org (2008719). 2008719 Our goal is to put out point releases more frequently for the next several months (about 3-4 weeks a release). We want a more rapid release cycle to better address issues brought up by users of JRuby.

(12)^ Ruby 2.2JRuby 9.0.0.0.  OSDN Magazine (2015723). 2015724

(13)^ Rails Support.  JRuby Team. 2008217

(14)^ Nutter, Charles (2008824). Zero to Production in 15 Minutes. 2008827

(15)^ 2807Rails 98.6%  JRuby 0.9.8 Released 

(16)^ Success Stories.  JRuby Wiki (2008129). 2008217

(17)^ .   (2008110). 2008916

(18)^ see JSR 292

(19)^ Sub-Projects and Investigations.  Sun Microsystems (2007). 200826

(20)^ Rose, John (2008826). Happy International Invokedynamic Day!. 200893

(21)^ Lorimer, R.J. (200891). Dynamic Invocation Runs on OpenJDK.  infoq.com. 200893

(22)^ Nutter, Charles (2008911). A First Taste of InvokeDynamic. 2008913 I managed to successfully wire InvokeDynamic directly into JRuby's dispatch process! Such excitement! The code is already in JRuby's trunk, and will ship with JRuby 1.1.5 (though it obviously will be disabled on JVMs without InvokeDynamic).

(23)^ abNutter, Charles (2007927). The Compiler Is Complete. 20071012

(24)^ Script your Java applications and efficiently reuse your Java libraries with this dynamic language.  javaworld.com (2006717). 2008426

(25)^ JSR 223: Scripting for the Java Platform Specification Request

(26)^ Nutter, Charles (2007416). Paving the Road to JRuby 1.0: Performance. 2007115

(27)^ Ruby 1.8  50% 39thread_create_join, sieve, count_words, mandelbrot, and answer 5

(28)^ Nutter, Charles (20071012). Performance Update. 20071012

(29)^ Nutter, Charles (20071012). Performance Update. 20071012

(30)^ Nutter, Charles (2008216). JRuby RC2 Released; What's Next?. 2008217 JRuby's performance regularly exceeds Ruby 1.8.6, and in many cases has started to exceed Ruby 1.9.

(31)^ Sieger, Nick (20071025). JRuby on Rails: Fast Enough. 20071028

(32)^ JRuby 50MacRuby - 

関連項目[編集]

外部リンク[編集]

マルチメディア[編集]