6

Java的新提案:Project Leyden

 1 year ago
source link: https://www.jdon.com/62914
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Java的新提案:Project Leyden


Project Leyden目的是改善 Java 程序的启动时间、达到峰值性能的时间和占用空间。

我们通常可以通过在时间上转移一些计算来改善程序的启动时间、预热时间和占用空间,这些计算可以提前到运行时间的后期(如通过懒惰的初始化),或向后到比运行时间更早的时间(如通过时间提前编译)。
我们可以通过限制一些与Java的动态特性(如类的加载、类的重新定义和反射)相关的计算来进一步提高性能,这可以使我们更好地分析代码,从而进行更多的优化。

在Project Leyden中,我们将以冷凝器condensers的形式实现这些移位、约束和优化的转换。
冷凝器condensers是一个在编译时间和运行时间之间的阶段运行的程序转换器。
它将一个程序转换为一个新的、更快的、可能更小的程序,同时保留Java平台规范赋予原程序的意义。

我们将根据需要对《规范》进行演化,以接纳和支持这些类型的转换。我们还将研究新的语言特性,使开发者能够自己转移计算,从而实现进一步的浓缩。

冷凝器模型给了开发者很大的灵活性。他们选择应用哪些冷凝器,并通过这样做选择是否以及如何接受限制Java自然动态的约束。没有必要容忍一个一刀切的启动、预热和足迹优化模型。

浓缩模型也给了Java实现相当大的自由。只要凝结器保留了程序的意义,并且不强加除开发者所接受的约束之外的其他约束,实现者就有很大的自由度来优化结果。

如果开发者选择了冷凝器,将足够的计算从运行时间转移到早期阶段,那么一个符合要求的Java实现甚至可以产生一个完全静态的平台特定可执行文件。

详细点击标题


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK