Dynalink 0.3 –简化了JVM动态链接

发布于:2021-02-14 00:00:12

0

59

0

Dynalink java javascript python oracle JVM

Oracle的Attila Szegedi一直在忙着筹备他的新项目Dynalink,现在有了0.3版本和一个时髦的新网站。

Oracle的JVM故障诊断专家Attila Szegedi在过去的几个月里异常忙碌,但仍然抽出时间来推动他的side项目Dynalink。

对于那些不熟悉Apache 2.0许可项目的人来说,Dynalink本质上是一个面向JVM语言的动态链接框架,它使得在一个相当复杂的过程中完成所有繁重的工作变得非常容易。通过利用JDK7的invokedynamic的神奇之处,Dynalink提供了一个高级的链接元对象协议库,允许在JVM上创建的语言可以与pojo和彼此互操作。

因此,当您想要将代码动态链接到其他代码或编写运行时,可以将Dynalink添加到操作中,使其具有前瞻性。动态链接可以使用任何Java对象的属性getter、setter、字段、方法、类的静态属性、字段、方法和构造函数。在我们看来,这是相当令人印象深刻的Java互操作性

但这仅仅是一个开始,框架还将接触到其他JVM语言,并消除了跨语言互操作性所需的噩梦般的障碍。Dynalink声称它可以在一个JVM中“将对象从Ruby传递到Python,从JavaScript传递到Java,然后再传递回来”,而开发人员只需付出最小的努力。天上掉馅饼?但这个项目却不是这样。

随着Szegedi跳槽到甲骨文,有些人认为这个项目不会很快有任何进展,但我们很高兴看到这与事实相去甚远。Szegedi说,他被引入Oracle是“为了让Java平台成为一个受欢迎的非Java语言环境”,这是一个非常鼓舞人心的消息。

更值得报道的是Dynalink被引入到Oracle项目中,并且目前仍然是Apache 2.0许可下的开源库。

从去年7月的版本开始,Dynalink现在已经是一个成熟的项目,包括一个时髦的新登录页面和一些新特性。这包括用于创建实例的“dyn:new”操作,以及添加一个新的调用站点类ChainedCallSit,该类记住已经链接的方法,并在构建链时应用它们。

调用站点描述符是Dynalink的核心,更多的信息可以在令人印象深刻的用户指南中找到。要了解更多内容,请查看0.3中的新内容。

Szegedi说,在过去的一年里,Dynalink的理念并没有发生太大的变化,但是很高兴看到这个项目继续取得巨大的进步,特别是渗透到Oracle的开发环境中。Szegedi在去年的JVM语言峰会上做的一个Dynalink视频演示很值得一看,如果你想进一步了解这个库的话。我们认为Dynalink是爆炸性的-现在就使用它!