mark.reinhold at oracle.com mark.reinhold at oracle.com
Mon Apr 27 16:38:55 UTC 2020- Previous message: Type-parameterized complement to Object.equals(Object)
- Next message: Call for Discussion: New Project: Leyden
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I hereby invite discussion of a new Project, Leyden, whose primary goal will be to address the long-term pain points of Java’s slow startup time, slow time to peak performance, and large footprint. Leyden will address these pain points by introducing a concept of _static images_ to the Java Platform, and to the JDK. - A static image is a standalone program, derived from an application, which runs that application -- and no other. - A static image is a closed world: It cannot load classes from outside the image, nor can it spin new bytecodes at run time. These two constraints enable build-time analyses that can remove unused classes and identify class initializers which can be run at build time, thereby reducing both the size of the image and its startup time. These constraints also enable aggressive ahead-of-time compilation, thereby reducing the image’s time to peak performance. Static images are not for everyone, due to the closed-world constraint, nor are they for every type of application. They often require manual configuration in order to achieve the best results. We do, however, expect the results to be worthwhile in important deployment scenarios such as small embedded devices and the cloud. Project Leyden will take inspiration from past efforts to explore this space, including the GNU Compiler for Java [1] and the Native Image feature of GraalVM [2]. Leyden will add static images to the Java Platform Specification, and we expect that GraalVM will evolve to implement that Specification. Developers who use only the standard, specified static-image feature will then be able to switch with ease between Leyden (in the JDK), Native Image (in GraalVM), and whatever other conforming implementations may arise, choosing amongst tradeoffs of compile time, startup time, and image size. We do not intend to implement Leyden by merging the Native Image code from GraalVM into the JDK. Leyden will, rather, be based upon existing components in the JDK such as the HotSpot JVM, the `jaotc` ahead-of-time compiler [3], application class-data sharing [4], and the `jlink` linking tool [5]. I propose to lead this Project with an initial set of Reviewers that includes, but is not limited to, Alex Buckley, Bob Vandette, Claes Redestad, Igor Veresov, Ioi Lam, Mandy Chung, and Vladimir Kozlov. This Project will start with a clone of the current JDK main-line release, JDK 15, and track main-line releases going forward. We expect to deliver Leyden over time, in a series of JEPs that will likely span multiple feature releases. Comments? - Mark [1] <a href="https://en.wikipedia.org/wiki/GNU_Compiler_for_Java">https://en.wikipedia.org/wiki/GNU_Compiler_for_Java</a> [2] <a href="https://www.graalvm.org/docs/reference-manual/native-image/">https://www.graalvm.org/docs/reference-manual/native-image/</a> [3] <a href="https://openjdk.java.net/jeps/295">https://openjdk.java.net/jeps/295</a> [4] <a href="https://openjdk.java.net/jeps/310">https://openjdk.java.net/jeps/310</a> [5] <a href="https://openjdk.java.net/jeps/282">https://openjdk.java.net/jeps/282</a>
- Previous message: Type-parameterized complement to Object.equals(Object)
- Next message: Call for Discussion: New Project: Leyden
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java并发编程的艺术
方腾飞、魏鹏、程晓明 / 机械工业出版社 / 2015-7-1 / 59.00元
并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中最核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编......一起来看看 《Java并发编程的艺术》 这本书的介绍吧!