词条 | GraalVM |
释义 |
| name = Graal | logo = | screenshot = | caption = | developer = Oracle Corporation | latest preview version = 1.0 RC12[1][2][3] | latest preview date = {{Start date and age|2019|02|04|df=yes}} | operating system = Linux and macOS[4] | platform = Java Virtual Machine | programming language = Java | genre = Java dynamic compiler and runtime | license = Community Edition: GPLv2[5][6] Enterprise Edition: Trialware | website = {{URL|https://www.graalvm.org/}} }} GraalVM is an extension of the Java virtual machine to support more languages and execution modes. The Graal project includes a new high performance Java compiler, itself called Graal,[7][8] which can be used in a just-in-time configuration on the HotSpot VM, or in an ahead-of-time configuration on the SubstrateVM. One objective of Graal is to improve the performance of Java virtual machine-based languages to match the performance of native languages.[9][10] Another goal, dubbed "Project Metropolis" or "Java-on-Java", is to implement a substitute for the substantial use of C++ within HotSpot.[11] A third goal is to allow freeform mixing of code from any programming language in a single program, billed as "polyglot applications".[9][12] TruffleIn association with GraalVM, Oracle developed a language abstract syntax tree interpreter called Truffle which would allow it to implement languages on top of the Graal framework.[13][14] The Truffle framework was released under GPL version 2 with the classpath exception to encourage use of the framework for projects which do not want to be bound by the viral, copyleft nature of the GPL, while the Graal compiler remains under GPLv2 only.[15] Ahead-of-Time CompilationIn September 2016, Oracle detailed plans to add ahead-of-time compilation to the OpenJDK using the Graal compiler for Java 9.[16][17] This proposal, tracked by the JEP 295: Ahead-of-Time Compilation, was included in Java 9.[18] The experimental use of Graal as a just-in-time compiler was added for the Linux x64 platform for Java 10.[19] See alsoReferences1. ^{{cite web| url=https://blogs.oracle.com/developers/announcing-graalvm | publisher=Oracle Corporation| title=Announcing GraalVM: Run Programs Faster Anywhere| accessdate=2018-04-22}} 2. ^https://github.com/oracle/graal/releases 3. ^http://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html 4. ^https://www.graalvm.org/downloads/ 5. ^{{cite web|url=http://www.graalvm.org/docs/faq/#what-is-the-license-of-graalvm|title=GraalVM FAQ|accessdate=2018-04-25}} 6. ^{{cite web|url=https://github.com/oracle/graal/blob/master/README.md#license|title=graal/README.md|accessdate=2018-04-25}} 7. ^{{cite web|url=http://www.javaworld.com/javaworld/jw-02-2012/120210-graal-compiler.html |title=Graal Java compiler would enable high-quality code, efficient memory use |accessdate=2013-08-23 |date=2012-02-14|publisher=JavaWorld|quote=The effort would explore implementing a dynamic compiler that can be used in a native JVM such as HotSpot or a metacircular JVM such as Maxine. On its project site, Oracle describes the Maxine VM as a next-generation platform written in Java, compatible with modern Java IDEs and the standard Java Development Kit, and featuring a modular architecture}} 8. ^{{cite web|url=http://jaxenter.com/oracle-championing-cause-for-graal-to-be-part-of-openjdk-40884.html|title=Graal : Oracle championing cause for Graal to be part of OpenJDK |accessdate=2013-08-23 |date=2012-02-15|publisher=jaxenter.com}} 9. ^1 {{cite web|url=https://www.graalvm.org/docs/why-graal/|title=Why GraalVM|accessdate=2018-04-25}} 10. ^{{cite web|url=http://www.lemondeinformatique.fr/actualites/lire-graal-un-compilateur-dynamique-pour-java-47761.html|title=Graal : Un compilateur dynamique pour Java |accessdate=2013-08-23 |date=2012-02-13|publisher=lemondeinformatique.fr}} 11. ^{{cite web|url=http://cr.openjdk.java.net/~jrose/metropolis/Metropolis-Proposal.html|title=Call for discussion: New Project: Metropolis|author=John Rose|accessdate=2018-04-25}} 12. ^{{cite web|url=https://www.graalvm.org/docs/reference-manual/polyglot/|title=Reference Manual for Polyglot Applications|accessdate=2018-04-25}} 13. ^{{cite web|url=http://wiki.jvmlangsummit.com/images/b/b7/2012-07-31_TruffleJVMSummit2012_Presentation.pdf |title=Truffle: A Self-Optimizing Runtime System| accessdate=2013-08-23| publisher=Oracle Corporation}} 14. ^{{cite web|url=https://zeroturnaround.com/rebellabs/graal-and-truffle-for-polyglot-languages-on-jvm/|title=Truffle served in a Holy Graal: Graal and Truffle for polyglot language interpretation on the JVM|date=2017-12-05|accessdate=2018-04-25}} 15. ^{{cite web|url=http://mail.openjdk.java.net/pipermail/graal-dev/2013-August/000702.html|title=License |accessdate=2013-08-23 |date=2013-08-03|publisher=Oracle Corporation}} 16. ^{{cite web| url=https://www.infoq.com/news/2016/10/AOT-HotSpot-OpenJDK-9| publisher=InfoQ.com| title=Ahead-of-Time (AOT) Compilation May Come to OpenJDK HotSpot in Java 9| quote=AOT brings about a new tool called ‘jaotc' which uses Graal as the backend (to generate code)| date=2016-10-01| accessdate=2016-10-06}} 17. ^{{cite web| url=https://bugs.openjdk.java.net/browse/JDK-8166089| publisher=Oracle Corporation| title=JDK-8166089: Ahead-of-Time Compilation| quote=Compile an application's Java classes to native code prior to launching the virtual machine.| date=2016-09-14| author=Vladimir Kozlov | accessdate=2016-10-06}} 18. ^{{cite web| url=http://openjdk.java.net/jeps/295| publisher=Oracle Corporation| title=JEP 295: Ahead-of-Time Compilation| quote=Compile Java classes to native code prior to launching the virtual machine.| date=2016-10-13| author=Vladimir Kozlov | accessdate=2016-10-13}} 19. ^{{cite web| url=http://openjdk.java.net/jeps/317| publisher=Oracle Corporation| title=JEP 317: Experimental Java-Based JIT Compiler| quote=JEP 317: Experimental Java-Based JIT Compiler| date=2017-10-20| author=Vladimir Kozlov | accessdate=2018-01-21}} External links
5 : Java compilers|Cross-platform software|Java platform software|Java virtual machine|Stack-based virtual machines |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。