JRuby 1.7首个预览版发布 修复259处bug
分享于 点击 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等新兴语言联系在一 起,就有可能落后于流行趋势。
示例代码:
- 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/
下载:http://www.jruby.org/download
用户点评