Project Leyden: Beginnings

submited by
Style Pass
2022-05-20 21:00:08

The ultimate goal of this Project, as stated in the Call for Discussion, is to address the long-term pain points of Java’s slow startup time, slow time to peak performance, and large footprint.

In the Call for Discussion I proposed that we address these pain points by introducing a concept of static run-time images to the Java Platform, and to the JDK.

A static image is a standalone program, derived from an application and a JDK, which runs that application — and no other.

A static image is a closed world with respect to the classes that it can load: At run time it cannot load classes from outside the image, nor can it create classes dynamically.

The closed-world constraint imposes strict limits on Java’s natural dynamism, particularly on the run-time reflection and class-loading features upon which so many existing Java libraries and frameworks depend. Not all applications are well suited to this constraint, and not all developers are willing to live with it.

So rather than adopt the closed-world constraint at the start, I propose that we instead pursue a gradual, incremental approach.

Leave a Comment