JRuby 1.7.14 发布 ,此版本现已提供下载:
http://www.jruby.org/download
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
本文向大家介绍Java版的Ruby解释器 JRuby简介,包括了Java版的Ruby解释器 JRuby简介的使用技巧和注意事项,需要的朋友参考一下 Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器应用的领先平台。不过如果Java平台不
问题内容: 我试图在Windows 7计算机上设置python 2.7.6(首先安装了python 3.3.3)。将项目解释器添加到settings- project解释器后,选择项目解释器时,出现此错误 文件“ C:\ Python33 \ Lib \ site.py”,行173 file = sys.stderr)^ SyntaxError:语法无效 最初在设置页面中添加python 2.7解
问题内容: 为什么我们说Java是一种编译和解释语言? (编译和解释)这样做有什么好处? 问题答案: Java在编译时被编译为中间的“字节码”。这与像C之类的语言在编译时被编译为机器语言相反。Java字节代码无法像编译的C代码那样直接在硬件上执行。相反,字节码必须在运行时由JVM(Java虚拟机)解释才能执行。像C这样的语言的主要缺点是,当编译该二进制文件时,该二进制文件将仅在一种特定的体系结构(
我有一台Windows 8.1主机,配有Ubuntu 12.10LTS服务器,运行的是VirtualBox。 我设置了2个网络连接,第一个在NAT中,第二个是“仅限主机适配器”,它允许我在不更改IP地址等的情况下与VM保持恒定连接… 在我的主机上,我有RubyMine 6.3.3。我想做的是在Windows机器上开发(VM只是Ubunut服务器,所以没有桌面) 我将 GIT 中的所有文件保留在 V
主要内容:实例,Ruby 多行注释,实例,实例注释是在运行时会被忽略的 Ruby 代码内的注释行。单行注释以 # 字符开始,直到该行结束,如下所示: 实例 #!/usr/bin/ruby -w # 这是一个单行注释。 puts "Hello, Ruby!" 运行实例 » 当执行时,上面的程序会产生以下结果: Ruby 多行注释 您可以使用 =begin 和 =end 语法注释多行,如下所示: 实例 #!/usr/bin/ruby -w put
本文向大家介绍Ruby 注释,包括了Ruby 注释的使用技巧和注意事项,需要的朋友参考一下 Ruby 注释 在学习注释如何在Ruby中应用之前?让我们了解编程中注释的确切含义以及使其变得如此重要的原因。 注释的主要目的是使源代码更易于程序员或开发人员理解。它们是该程序的一种文档,旨在提醒读者有关在编写源代码的过程中应用的棘手逻辑的信息。它们通常不由编译器或解释器处理。它们不是用编程语言输入的;首选