欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JRuby 1.7首个预览版发布 修复259处bug

来源: javaer 分享于  点击 30490 次 点评:146

JRuby 1.7首个预览版发布 修复259处bug


JRuby社区今天发布了JRuby 1.7的首个预览版本。

 

JRuby是Ruby编程语言的纯Java实现,它结合了Ruby简洁的语法以及Java丰富的类库。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。

JRuby 1.7的主要改进包括:

  • Ruby 1.9.3现在是默认的运行时模式
  • 修复了大量关于Ruby 1.9.x兼容性的问题
  • 支持Java 7中的invokedynamicJava 7引入的新的字节码,通过invokedynamic,你可以移除参数、插入新的参数、处理现有参数以及返回值,还可以用来捕获异常)
  • 改善性能和并发性
  • 逐步移除对Java 5的支持
  • RubyGems升级至1.8.24
  • Rake升级至0.9.2.2
  • 修复了259处bug

JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器应用的领先平台。不过如果Java平台不与Ruby等新兴语言联系在一 起,就有可能落后于流行趋势。

示例代码:

  1. require "java" 
  2.  
  3. include_class "java.util.TreeSet" 
  4. include_class "com.example.CallMe" 
  5. include_class "com.example.ISpeaker" 
  6.  
  7. puts "Hello from ruby" 
  8. set = TreeSet.new 
  9. set.add "foo" 
  10.  
  11. set.add "Bar" 
  12. set.add "baz" 
  13. set.each { |v| puts "value: #{v}" }  
  14.  
  15. cm = CallMe.new 
  16. cm.hello  
  17. $globalCM.hello  
  18.  
  19. class CallJava  
  20.   include ISpeaker  
  21.   def initialize  
  22.     super 
  23.     @count = 0 
  24.   end  
  25.  
  26.   def say(msg)  
  27.     puts "Ruby saying #{msg}" 
  28.   end  
  29.     
  30.   def addOne(from)  
  31. #    m.synchronize {  
  32.       @count += 1 
  33.       puts "Now got #@count from #{from}" 
  34.  
  35. #    }  
  36.   end  
  37. end 

详细信息:http://www.jruby.org/2012/05/21/jruby-1-7-0-preview1.html

主页:http://www.jruby.org/

下载:http://www.jruby.org/download

相关栏目:

用户点评