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

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

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

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

JRuby 1.7的主要改进包括:

  • Ruby 1.9.3现在是默认的运行时模式
  • 修复了大量关于Ruby 1.9.x兼容性的问题
  • 支持Java 7中的invokedynamic(Java 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等新兴语言联系在一 起,就有可能落后于流行趋势。

示例代码:

require "java" 


 



include_class "java.util.TreeSet" 




include_class "com.example.CallMe" 




include_class "com.example.ISpeaker" 



 



puts "Hello from ruby" 




set = TreeSet.new 




set.add "foo" 



 



set.add "Bar" 




set.add "baz" 




set.each { |v| puts "value: #{v}" }  



 



cm = CallMe.new 



cm.hello  


$globalCM.hello  


 



class CallJava  



  include ISpeaker  


  def initialize  



    super 




    @count = 0 



  end  


 


  def say(msg)  



    puts "Ruby saying #{msg}" 



  end  


    


  def addOne(from)  


#    m.synchronize {  



      @count += 1 




      puts "Now got #@count from #{from}" 



 


#    }  


  end  


end 

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

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

相关推荐