写点什么

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