发布于 2014-06-24 22:59:26 | 157 次阅读 | 评论: 0 | 来源: 网友投递
JRuby Java实现的Ruby解释器
JRuby,是一个采用纯Java实现的Ruby解释器,是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让人觉得不够成熟,特别是在高端企业级功能方面。另一方面,Java平台及其虚拟机、库和 应用服务器的速度、稳定性和功能方面却一直在提升,现在已被公认为是开发高端服务器。
JRuby 1.7.13 发布,这是 1.7 的第 13 次更新,1.7 版本主要目的是找出任意与 Ruby 1.9.3 不兼容的问题。
JRuby,一个采用纯Java实现的Ruby解释器,由JRuby团队开发。它是一个自由软件,在CPL/GPL/LGPL三种许可协议下发布。主要开发者有Charles Nutter、Thomas Enebo、Ola Bini、Nick Sieger等。
Changes of note:
58 issues fixed for 1.7.13
jruby-openssl 0.9.5 bundled
Ability to upgrade jruby-openssl as a gem
New custom profiler API
Several BigDecimal fixes
#1757 - new krypt gem release
#1749 - ??? jruby-opensll snapshot build not working properly on 1.7 branch
#1748 - openssl load 1.8 (and possibly 1.9 compatibility) fix
#1747 - Openssl is broken in 1.8 mode due to IO::WaitReadable
#1743 - Ruby 1.9+ will use nil not false for type argument of set_trace_func
#1731 - [GH-1726] - File.read should raise an Errno::ENOENT when the file is an empty String
#1726 - JRuby 1.7.12: File.read("") throws Java ArrayIndexOutOfBoundsException
#1725 - Make behavior of Array#eql? more closely match MRI
#1722 - Strange FloatDomainError
#1714 - String#rindex should handle matchdata strings
#1711 - quote variables so works with directories with spaces
#1708 - add spec for array coercion
#1707 - * Treat SSL NOT_HANDSHAKING as FINISHED.
#1705 - jruby-openssl gem version inconsitency
#1703 - Fix for issue #1695
#1699 - StringIO.set_encoding may change shared ByteList encoding
#1698 - jruby-lib build fails in windows
#1697 - Do not rescue java.lang.Error using StandardError
#1696 - Rescue StandardError rescues Java errors
#1688 - String rindex does not work properly with matchdata
#1684 - Fix for issue #1517
#1679 - Regression in compiling with default 1.8 mode
#1677 - Use pwd -P to work on systemlinked locations.
#1673 - ArrayJavaProxy#to_a now returns nested arrays where applicable
#1670 - (more) OpenSSL cleanup
#1667 - Kernel#fail should handle java exceptions
#1666 - Fix #1664 for Hash#compare_by_identity and Hash#store
#1664 - when Hash#compare_by_identity is called, it should not copy the keys
#1663 - BasicSocket#shutdown should accept strings or symbols
#1661 - minor (infrastructure) openssl cleanup
#1650 - require 'net/https' fails on 1.7.12 and master if jruby.native.enabled=false
#1649 - Triplicate BouncyCastle jars in the build
#1648 - GH-1633 - BigDecimal operations should throws TypeError when the first argument is nil
#1646 - GH-1551 - Fixing: Fixnum#to_s seems to generate strings immune to #[]=
#1645 - Fix jar entry path expansion (https://github.com/jruby/jruby/issues/321 issue)
#1641 - fail and raise behave differently
#1638 - "Regexp Interrrupted" Typo
#1636 - Static JavaProxy#getJavaClass needs to clear $!
#1633 - Erroneous BigDecimal operations
#1631 - BigDecimal#{round,truncate,floor,ceil} with no args returns to_i
#1630 - Add support for symbol rounding mode arguments
#1622 - Refactor channeldescriptor to use FileResource
#1616 - Actually use Java7ClassValue when using Java 7+.
#1602 - api for custom profiler
#1596 - Uninitialized constant OpenSSL::SSL::SSLContext::METHODS in 1.7.x
#1590 - Hash#hash fails when keys & values are the same
#1579 - BasicSocket.shutdown() is not compliant for >= 1.9.x
#1578 - Result of operation between BigDecimal and Rational differs.
#1566 - loading (default) gems varies between jruby 1.7.x versions
#1551 - Fixnum#to_s seems to generate strings immune to #[]=
#1543 - openssl 'BC' (security provider) leak
#1542 - fix initialize visibility
#1538 - ArgumentError: comparison of Class with Class failed
#1517 - Time#to_s with different UTC offset gives local hour with given offset
#1299 - Enumerator.peek throws NullPointerException after the last item (1.7.8)
#389 - OpenSSL::ASN1.decode results vary from MRI (and fail)
#357 - OpenSSL::PKey::RSA.new returns the wrong value
#210 - File.readlink cannot read dangling symlinks