java jruby_Java 版的 Ruby 解释器 JRuby 1.7.14 发布

JRuby 1.7.14 发布,主要针对 Ruby 1.9.3 的兼容性进行优化。此版本修复了多个 issues,包括内存泄漏和 Rails 应用启动速度问题。JRuby 结合 Ruby 的易用性和 JVM 的执行能力,提供与 Java 库的全面集成。示例代码展示了如何在 JRuby 中使用 Java 类库。
摘要由CSDN通过智能技术生成

JRuby 1.7.14 发布 ,此版本现已提供下载:

JRuby 1.7 主要是为了兼容 Ruby 1.9.3 版本,改进记录如下:

解决了 30 个 issues

修复了 Jar 文件源潜在的内存泄漏问题

因为在 Rails 应用启动比较慢,所以默认禁用 invokedynamic

load/require 内部重构和简化

解决了一些兼容性问题

1.7.14 修复的 bug:

#1923 - String#start_with? returns false when using an empty string

#1905 - Tempfile and deleteOnExit

#1899 - Can't call static method on Java 8 interface

#1898 - Fix the memory leak and actually close the resources.

#1889 - NPE from org.jruby.java.proxies.ArrayJavaProxy.to_a

#1888 - native memory leak when reading files from inside a .jar

#1859 - JMX tries to double-bind a port when using bundle exec

#1858 - JRuby with Java 8 4 to 10 times slower than Java 7

#1852 - JRubyClassloader seems to have a problem with file urls pointing to jar ...

#1850 - embedded jars do not get loaded

#1846 - Fix $LOAD_FEATURES paths for 1.8

#1818 - fix ArrayJavaProxy#to_a failure on arrays containing null

#1813 - can not load resources from jar anymore with jar uri

#1809 - apply minor enebo's comments

#1808 - Fix BigDecimal#round behavior with NAN and INFINITY

#1805 - Zlib crc improvements

#1803 - Fix minor bug in `setNativeEnabled`, and expose it in ScriptingContainer

#1802 - Fix Encoding::Converter#inspect output

#1799 - mvn -Pall fails at the documentation step

#1790 - Make Time#to_r consistent with MRI

#1777 - ServerSocket#accept_nonblock returns the server's port, not the client's

#1772 - avoid sub-classing ThreadLocal since it will leak in envs such as .wars

#1765 - added a java_field method for use in the jrubyc command.

#1762 - enhanced the java_class compiler so it can handle multiple constructors

#1750 - Refactor LoadService to make use of resources

#1729 - no valid struct layout for Ethon::Curl::Slist

#1676 - Empty hash optimization

#1580 - IO.select raises CancelledKeyException on shutdown

#1520 - Date comparison as java objects

#1435 - bouncy-castle-java JARs missing when warbling with JRuby 1.7.10

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值