JRuby 9.0.0.0.rc1 发布,此版本是 JRuby 团队经过多年的努力和大规模重新启动一些 JRuby 子系统的结果。此版本兼容 Ruby 2.2.x,并且同步 C Ruby。 JRuby 9000 主要特性: Ruby 2.2 兼容 基于一个传统编译器设计的优化运行时 新 POSIX 友好 IO 和 Process 可以完全从 MRI 移植编码/转码逻辑 相比 pre2 的重要更新 Updated to Rubygems 2.4.8 addressing CVE-2015-1855 Several parser issues (also fixed in ripper) Optimized multiple assignment Several added smaller missing methods for better 2.2 compatibility A couple of bugs involving nested exceptions/ensures and $! 46 issues fixed for 9.0.0.0.rc1 JRuby 9000 初步支持 Truffle 语言实现框架和 Oracle 实验室的 Graal VM。详情请看 JRuby Wiki。 JRuby 9.0.0.0.rc1 issues #3022 - Don't call modify() on RubyStrings so eagerly when freezing them #3019 - Small string values backed by HUGE non-shared ByteList leading to large memory usage under 9k #3016 - OutOfMemoryError in 9k on code with very large methods #3010 - 9k has different scoping behavior than MRI #3009 - LocalJumpError: yield called out of block in JRuby 9.0.0.0.pre2 #3008 - Module#included is private when called with super #3007 - splats with non-array like values #3006 - add recursion guard in Comparable. #3002 - Don't warn on private attribute accessors to match CRuby #2993 - Many failures in Sequel tests on [RuntimeError] exception expected, not Class: <NoMethodError> Message: <"undefined method `[]' for nil:NilClass"> #2986 - certain require do not load extension Service class #2984 - Socket.pair is not implemented #2983 - Net::HTTP can't ignore http.proxyHost of JVM System Property #2976 - Regression: Sequel's literals contain additional quotation marks under JRuby 9k head but not under pre2 #2975 - Requiring Sequel triggers false warnings `already initialized constant` #2974 - NotImplementedError: waitpid unsupported or native support failed to load on OS X 10.9.5 / OpenJDK 8 / rbenv #2959 - JRuby 9k-pre2 throws IOError when reading from $stdin #2957 - JRuby 9.0.0.0.pre2 starts hanging while reading from a socket #2939 - Issue #2924 #2924 - Issue in org.jruby.util.TypeConverter CheckType #2920 - Proc from Method breaks encoded parameter list #2919 - Add another layer of try/finally around rescue/ensure to reset $!. #2918 - Method#parameters doesn't annotate required parameters correctly #2916 - Multiple assignment has too much overhead #2910 - $! does not get cleared under certain circumstances #2905 - Different Regexp behavior from MRI #2904 - require 'ripper' yields const already init warnings #2899 - Fix for issue 2896 on master : Symbol#inspect with utf8 encode string #2887 - jrubyc failing - TypeError: failed to coerce org.objectweb.asm.ClassWriter to org.jruby.org.objectweb.asm.ClassVisitor #2877 - Implementation of initialize_copy for BigDecimal (fix #2868) #2871 - Enabling tty for powerpc64 #2869 - NameError different behavior #2868 - BigDecimal can not be copied #2850 - Fannkuch-redux is less than half as fast in 9k as in 1.7 #2772 - Make Dir raise Errno::EACCES #2756 - Allow File.open and File.new with 4 arguments #2744 - Syntax error with file that has OK syntax with MRI 2.2 #2724 - Socket.getaddrinfo reverse_lookup #2616 - Fix power of 0 and 1 issues in Rational #2605 - Fix File.read with UTF-16LE #2603 - Add support for named captures in StringScanner (fixes #1067) #2563 - RubyArray#flatten! uses `respond_to?` unlike the original [lotus] #2475 - Truffle: Understand and reduce impact of Truffle on the distribution size #2036 - Demonstrate pedantic option #1955 - -X... and -X? options to search for properties. #1629 - Another unexpected kDO_BLOCK error in parser 同时还发布了 JRuby 1.7.20.1 版本,是 JRuby 1.7.0 以来的第 24 个更新版本,主要是兼容 Ruby 1.9.3。此版本安全更新只是升级 Rubygems 到版本 2.4.8,解决 CVE-2015-1855 漏洞。强烈建议升级! Homepage: http://www.jruby.org/ Download: http://www.jruby.org/download JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器应用的领先平台。不过如果Java平台不与Ruby等新兴语言联系在一 起,就有可能落后于流行趋势。 JRuby 9.0.0.0.rc1/1.7.20.1 发布下载地址