写点什么

JRuby 综述:JRuby 发布、ruby2java、JSR 292 进展

2009 年 6 月 11 日

JRuby 1.3 现已发布,包括很多性能改进和错误修正。新的改进包括添加了 Nailgun、快速 timeout 和其他(点击查看1.3 版的更多变化信息,如Nailgun、不再支持Java1.4 )。

JRuby 1.3 也是首个兼容Google AppEngine Java 支持的稳定版本。

在新版本中timeout 似乎存在问题,不过该问题已经在JRuby 的分支版本中修正。目前的解决办法是,从分支中构建JRuby,或者等待1.3.1 版本发布。

同时,改进JRuby 速度的工作仍在进行中。其中一个改进编译JRuby 的项目是 ruby2java :

Ruby2Java 编译器检查类的运行时定义来产生正常的 Java 类。所有元编程方法都反映在 Java 类中,就像对这些方法做了运行时修改一样。

ruby2java 项目位于 Kenai ,需要最低 JRuby 1.3 版本运行。

Ruby2java 旨在改善 JRuby 在现有 JVM 上的速度。但是,JDK/Java 7 中的一些变化可能对性能有显著的提高。 JSR-292 收集了 JVM 的前几个变化以实现这个目标。

其中一个变化是引入了新的字节码invokedynamic,其提供了针对调用的定制查找方法,例如,如果一个消息发送给接受者,语言运行时被调用并处理查找、返回实际运行的方法。虽然这本身不会带来很大的改进,但指导思想是 JVM 可以对调用提供更好的优化。

这种方法已讨论多年,但是慢慢才变成现实。JavaOne 09 大会上的某些讨论就是针对 JSR-292:复兴虚拟机技术和 JSR 292 手册,深入探讨了 JVM 的变化和未来的变化趋势。

Charles Nutter 也在使用invokedynamic 和新方法处理方式上取得了进展,包含该代码的JRuby 版本在某一个代码分支上。

新功能目前只在JVM 的研究版本或者早期JDK 7 版本中提供(invokedynamic 几周前已经包含在JDK 7 中)。

查看英文原文: JRuby Roundup: JRuby 1.3 Released, ruby2java, JSR 292 Progress

2009 年 6 月 11 日 10:29780
用户头像

发布了 501 篇内容, 共 211.4 次阅读, 收获喜欢 21 次。

关注

评论

发布
暂无评论
  • Ruby 1.9.1 即将到来:是时候从 1.8.x 进行迁移了?

    Ruby 1.9.1作为Ruby 1.9的第一个稳定版本,发布已近在眼前,其RC2不日即将发布。在最初的一年里,1.9.x并未获得太多的人气和支持。然而,1.9.1在被广泛且深入的了解以后,正越来越多地为人所关注。

  • Java 12 特性冻结,但原始字符串字面量特性被移除

    JDK 12是Java SE的下一个版本,已经到了版本发布流程的第一个减速点(ramp-down point),该版本的特性已被冻结。 JDK 12提供了增强的switch语句的预览,为G1垃圾回收器添加了许多改进,并新引入了一个名为Shenandoah的实验性垃圾回收器。但是,JDK 12主要提案之一的原始字符串字面量(raw string literals)却被从这个版本移除了。

  • JRuby 1.0 丰收在望

    InfoQ追踪报道JRuby阵营令人振奋的最新进展:JRuby快马加鞭,将赶在JavaOne前发布1.0版本。此外,我们对JRuby团队热门人物Ola Bini进行了独家采访。

  • JRuby 1.1.6 发布,改善对 Ruby 1.9 的支持

    JRuby 1.1.6现在已经发布了。最新的版本中包含速度上的提升,以及对一些bug的修复,但其中有一个显著的新特性就是全面支持Ruby 1.9源代码解析,以及改善对Ruby 1.9的支持。

  • JRuby 1.7.0 发布:默认使用 Rudy1.9 模式,并可使用 InvokeDynamic

    JRuby 1.7使用Ruby1.9.3作为默认运行模式。java虚拟机支持invokedynamic,并且使用JRuby 1.7来提升性能

  • SubstrateVM:AOT 编译框架

    SubstrateVM的设计初衷是提供一个高启动性能、低内存开销,和能够无缝衔接C代码的Java运行时。它是一个独立的运行时,拥有自己的内存管理等组件。

    2018 年 10 月 12 日

  • 开源实战四(中):剖析 Spring 框架中用来支持扩展的两种设计模式

    观察者模式在Java、Google Guava、Spring中都提供了实现代码。基于代码,我们可以实现观察者模式。

    2020 年 5 月 18 日

  • JRuby 1.0 里的 Unicode 状态和 Ruby 兼容性

    InfoQ总结了在JRuby 1.0里处理字符串的当前做法:Java有Unicode字符串,Ruby有Byte数组。JRuby 1.0会保持这种方法,仅在它们之间发生冲突时进行调解。正则表达式也是需要注意的地方。

  • JRuby 1.1.4 发布

    JRuby 1.1.4现在已经发布,其中包括改善后的功能、更快的Java集成、开始兼容Ruby 1.9版本、与FFI的本生库集成,以及其他更多新特性。

  • 第 1 讲 | 谈谈你对 Java 平台的理解?

    从你接触Java开发到现在,你对Java最直观的印象是什么呢?

    2018 年 5 月 5 日

  • 喜马拉雅服务化演进之路

    演讲嘉宾王志强,喜马拉雅FM Java技术经理内容介绍喜马拉雅从2014年开始做服务化改造,在有限的人力下,满足业务不断的增长,在不同的阶段,分别遇到了什么问题,做了什么工作,本次分享将向大家介绍喜马拉雅服务化技术演进过程中的总结。内容大纲 服务化的背景 如何改造解决痛点问题 带来的新的问题 trace系统搭建,以及遇到问题后的演进 RPC框架升级改造 正在做和之后准备做的工作

    2018 年 12 月 18 日

  • Apache Hadoop YARN: State of the Union

    演讲嘉宾任春德,阿里巴巴 高级技术专家内容介绍Apache Hadoop YARN 作为Hadoop生态系统中的资源调度系统,承载着丰富的大数据应用和计算,正在逐步演变为服务于大数据的底层Operation System。为了应对大数据生态圈的多样性、异构性以及复杂性,通过对各类计算模型、新的资源类型的支持,YARN正向着一个通用、高效、可扩展、支持多租户的资源管理和调度平台蓬勃发展。在这个演讲中,我们将分享YARN的最新特性,并延伸到如何使用YARN架构新一代计算平台。我们会介绍YARN如何无缝的支持各类机器学习和深度学习框架,怎样结合多租户、资源隔离以及资源共享的特性,安全而高效的在同一个平台上运行各类计算任务。我们也会分享YARN的容器化的最新进展,包括对服务类型任务更全面的支持,以及基于Docker conainer的网络和存储的优化。我们会结合行业的一些案例,介绍一些典型的应用场景以加深对这些技术的理解。内容大纲 Apache Hadoop YARN 最新进展 基于YARN的基础计算架构 行业实战分享 总结和展望

    2019 年 1 月 2 日

  • 字节码生成:为什么 Spring 技术很强大?

    字节码生成技术很有用,你可以用它将高级语言编译成字节码,还可以向原来的代码中注入新代码,来实现对性能的监测等功能。

    2019 年 11 月 6 日

  • JRuby 近况:带有 Profiler 的 1.1.1 版本、启动性能加速和 GSoC '08

    JRuby的1.1.1发布版相比初始的1.1发布版有一定的改进,包括修复了在IBM虚拟机上的问题,以及加入了JIP profiler等。使用JRuby 1.1.x的trunk版本的用户也可以尝试新的性能提升,预期是对启动性能有大幅的提升。另外,和JRuby相关的GSoC '08项目也有所涉及。

发现更多内容

“新基建”与“双循环”的二重奏:2020服贸会靠什么推动经济复苏

脑极体

没想到 Hash 冲突还能这么玩,你的服务中招了吗?

老大哥

Java 程序员 后端

阿里P8Java架构师呕心沥血整理出来的[史上最全Java面试题精选集锦]

Java成神之路

Java 编程 程序员 面试

【真实面试经历】我和阿里面试官的一次“邂逅”

老大哥

筹备半年时间,四面阿里终于如愿拿到P7级offer【Java岗】。

Java成神之路

Java 编程 程序员 面试

[翻译]The Go scheduler[Go调度]

卓丁

golang golang调度 Go scheduler

工作好多年有可能还未真正了解接口和抽象类

架构师修行之路

接口 抽象

我的大厂面试经历

老大哥

Java 程序员 后端

Java服务,内存OOM问题如何快速定位?

老大哥

Java 程序员 后端

架构师训练营第13周作业

风

一步搞定任意圆角背景

mengxn

android xml 圆角

市值做市机器人,操盘做市系统搭建

13823153121

架构师训练营作业(大数据与机器学习)

qihuajun

架构师第十三周作业

傻傻的帅

架构师

20张图,大学四年都没整明白的操作系统就这么学会了

小Q

Java 程序员 架构 操作系统

Flink通过官网创建自己的工程-20

小知识点

scala 大数据 flink

商业通识 : 商业从哪里来?

Walker

学习 得到 个人成长 商业

从用户输入手机验证码开始

架构师修行之路

Java架构师JVM启动流程和内存结构,程序员必看!

老大哥

Java 程序员 后端

关于二进制的补码,反码,正负数表示以及Java代码测试

Zexho

Java 补码 位运算 反码 计算机知识

What's new in Dubbo-go v1.5.1

apache/dubbo-go

golang dubbo 服务端

indexOf原理,Java,javascript,python实现

叫练

算法

面试官为什么会问你,如何设计一个高并发系统?

老大哥

Java 程序员 后端

大厂面试题:集群部署时的分布式 session 如何实现? 面试官心理分析

老大哥

Java 程序员 后端

第13周 作业

Jaye

[翻译]Go Concurrency Patterns[Go 并发模式]

卓丁

golang Rob Pike Go Concurrency Patterns Concurrency

甲方日常10

句子

工作 随笔杂谈 日常

架构师训练营 - 第 8周命题作业

红了哟

用技术的“信条”,开启AI to B的产业位移

脑极体

阿里P8忠告:这些技术,哪怕不用微服务架构,你也应该会

小Q

Docker 架构 微服务 springboot SpringCloud

第十三周作业

olderwei

极客大学架构师训练营

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

JRuby综述:JRuby发布、ruby2java、JSR 292进展-InfoQ