You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GraalVM compiles your Java applications ahead of time into standalone binaries.
11
-
These binaries are smaller, start up to 100x faster, provide peak performance with no warmup, and use less memory and CPU than applications running on a Java Virtual Machine (JVM).
11
+
GraalVM is an advanced JDK with ahead-of-time Native Image compilation.
12
12
13
-
GraalVM reduces the attack surface of your application.
14
-
It excludes unused classes, methods, and fields from the application binary.
15
-
It restricts reflection and other dynamic Java language features to build time only.
16
-
It does not load any unknown code at run time.
13
+
GraalVM accelerates application performance while consuming fewer resources—improving application efficiency and reducing IT costs.
14
+
It achieves this by compiling your Java application ahead of time into a native binary.
15
+
The binary is smaller, starts up to 100x faster, provides peak performance with no warmup, and uses less memory and CPU than an application running on a Java Virtual Machine (JVM).
16
+
With profile-guided optimization and the G1 (Garbage-First) garbage collector, you can get lower latency and on-par or better peak performance and throughput compared to an application running on a JVM.
17
17
18
-
Popular microservices frameworks such as Spring Boot, Micronaut, Helidon, and Quarkus, and cloud platforms such as Oracle Cloud Infrastructure, Amazon Web Services, Google Cloud Platform, and Microsoft Azure all support GraalVM.
18
+
## Key Benefits
19
19
20
-
With profile-guided optimization and the G1 (Garbage-First) garbage collector, you can get lower latency and on-par or better peak performance and throughput compared to applications running on a Java Virtual Machine (JVM).
20
+
GraalVM's key benefits are:
21
21
22
-
You can use the GraalVM JDK just like any other Java Development Kit in your IDE.
22
+
***Low Resource Usage**: A Java application compiled ahead-of-time by GraalVM requires less memory and CPU to run. No memory and CPU cycles are spent on just-in-time compilation. As a result, your application needs fewer resources to run and is cheaper to operate at scale.
23
+
***Fast Startup**: With GraalVM, you can start your Java application faster by initializing parts of it at build time instead of runtime, and instantly achieve predictable peak performance with no warmup.
24
+
***Compact Packaging**: A Java application compiled ahead-of-time by GraalVM is small and can be easily packaged into a lightweight container image for fast and efficient deployment.
25
+
***Improved Security**: GraalVM reduces the attack surface of your Java application by excluding the following: unreachable code (unused classes, methods, and fields), the just-in-time compilation infrastructure, and build-time initialized code. GraalVM's closed world assumption prevents your application from loading unknown code by disabling dynamic features such as reflection, serialization, and so on at runtime, and requires an explicit include list of such classes, methods, and fields at build time. GraalVM can embed a software bill of materials (SBOM) in your binary, making it easier for you to use common security scanners to check your Java application for published Common Vulnerabilities and Exposures (CVEs).
26
+
***Easily Build Cloud Native Microservices**: Popular microservices frameworks such as Micronaut, Spring Boot, Helidon, and Quarkus, and cloud platforms such as Oracle Cloud Infrastructure (OCI), Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure all support GraalVM. This makes it easy for you to build cloud native Java microservices, compiled as binaries, packaged in small containers, and run on the most popular cloud platforms.
27
+
***Extend your Java Application with Python and Other Languages**: With GraalVM you can embed languages such as Python, JavaScript, and others to extend your Java application.
28
+
***Use Existing Development and Monitoring Tools**: Your existing Java application development and monitoring tools work with GraalVM application binaries. GraalVM provides build plugins for Maven and Gradle, and GitHub Actions for CI/CD. GraalVM supports Java Flight Recorder (JFR), Java Management Extensions (JMX), heap dumps, VisualVM, and other monitoring tools. GraalVM works with existing Java editors/IDEs, and unit test frameworks such as JUnit.
23
29
24
30
## Licensing and Support
25
31
@@ -31,16 +37,13 @@ For more information about Oracle GraalVM licensing, see the [Oracle Java SE Lic
31
37
GraalVM Community Edition is open-source project built from the sources available on [GitHub](https://github.com/oracle/graal) and distributed under [version 2 of the GNU General Public License with the “Classpath” Exception](https://github.com/oracle/graal/blob/master/LICENSE), which are the same terms as for Java.
32
38
Check the [licenses](https://github.com/oracle/graal#license) of individual GraalVM components which are generally derivative of the license of a particular language and may differ.
33
39
34
-
## What to Read Next
40
+
###What to Read Next
35
41
36
-
Start with installing GraalVM by following the [installation guide](getting-started/get-started.md).
37
-
38
-
Whether you are new to GraalVM Native Image or have little experience using it, continue to [Getting Started](reference-manual/native-image/README.md).
39
-
40
-
After that we suggest you to take look at [User Guides](reference-manual/native-image/guides/guides.md).
41
-
42
-
Developers who have experience using GraalVM and Native Image can proceed to the [Reference Manuals](reference-manual/reference-manuals.md) for in-depth coverage.
43
-
44
-
To start coding with GraalVM APIs, check the [GraalVM SDK Java API Reference](http://www.graalvm.org/sdk/javadoc).
45
-
46
-
If you cannot find the answer you need in the available documentation or have a troubleshooting query, you can ask for help in a [Slack channel](/slack-invitation/) or [submit a GitHub issue](https://github.com/oracle/graal/issues).
42
+
* Start with the [installation guide](getting-started/get-started.md).
43
+
* GraalVM is based on the Java HotSpot Virtual Machine. Read more about [GraalVM as a Java Virtual Machine](reference-manual/java/README.md) and its optimizing just-in-time compiler, [Graal Compiler](reference-manual/java/compiler.md).
44
+
* Whether you are new to GraalVM Native Image, or have little experience using it, continue to [Getting Started with Native Image](reference-manual/native-image/README.md).
45
+
We suggest you to take look at [User Guides](reference-manual/native-image/guides/guides.md).
46
+
* Developers interested in embedding other languages into Java, proceed directly to the [Embedding Languages documentation](reference-manual/embedding/embed-languages.md).
47
+
* Developers interested in building interpreters for programming languages which then run on GraalVM, continue to the [Truffle language implementation framework documentation](../truffle/docs/README.md).
48
+
* To learn more about security considerations in GraalVM, check the [Security Guide](security/security-guide.md).
49
+
* If you cannot find the answer you need in the available documentation or have a troubleshooting query, ask for help in a [Slack channel](/slack-invitation/) or [submit a GitHub issue](https://github.com/oracle/graal/issues).
Oracle GraalVM is an advanced JDK with ahead-of-time Native Image compilation.
9
+
10
+
Oracle GraalVM accelerates application performance while consuming fewer resources—improving application efficiency and reducing IT costs.
11
+
It achieves this by compiling your Java application ahead of time into a native binary.
12
+
The binary is smaller, starts up to 100x faster, provides peak performance with no warmup, and uses less memory and CPU than an application running on a Java Virtual Machine (JVM).
13
+
With profile-guided optimization and the G1 (Garbage-First) garbage collector, you can get lower latency and on-par or better peak performance and throughput compared to an application running on a JVM.
14
+
15
+
## Key Benefits
16
+
17
+
Oracle GraalVM's key benefits are:
18
+
19
+
***Low Resource Usage**: A Java application compiled ahead of time by Oracle GraalVM requires less memory and CPU to run. No memory and CPU cycles are spent on just-in-time compilation. As a result, your application needs fewer resources to run and is cheaper to operate at scale.
20
+
***Fast Startup**: With Oracle GraalVM, you can start your Java application faster by initializing parts of it at build time instead of runtime, and instantly achieve predictable peak performance with no warmup.
21
+
***Compact Packaging**: A Java application compiled ahead of time by Oracle GraalVM is small and can be easily packaged into a lightweight container image for fast and efficient deployment.
22
+
***Improved Security**: Oracle GraalVM reduces the attack surface of your Java application by excluding the following: unreachable code (unused classes, methods, and fields), the just-in-time compilation infrastructure, and build-time initialized code. Oracle GraalVM's closed world assumption prevents your application from loading unknown code by disabling dynamic features such as reflection, serialization, and so on at runtime, and requires an explicit include list of such classes, methods, and fields at build time. Oracle GraalVM can embed a software bill of materials (SBOM) in your binary, making it easier for you to use common security scanners to check your Java application for published Common Vulnerabilities and Exposures (CVEs).
23
+
***Easily Build Cloud Native Microservices**: Popular microservices frameworks such as Micronaut, Spring Boot, Helidon, and Quarkus, and cloud platforms such as Oracle Cloud Infrastructure (OCI), Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure all support Oracle GraalVM. This makes it easy for you to build cloud native Java microservices, compiled as binaries, packaged in small containers, and run on the most popular cloud platforms.
24
+
***Extend your Java Application with Python and Other Languages**: With Oracle GraalVM you can embed languages such as Python, JavaScript, and others to extend your Java application.
25
+
***Use Existing Development and Monitoring Tools**: Your existing Java application development and monitoring tools work with application binaries. Oracle GraalVM provides build plugins for Maven and Gradle, and GitHub Actions for CI/CD. Oracle GraalVM supports Java Flight Recorder (JFR), Java Management Extensions (JMX), heap dumps, VisualVM, and other monitoring tools. Oracle GraalVM works with existing Java editors/IDEs, and unit test frameworks such as JUnit.
26
+
27
+
### What to Read Next
28
+
29
+
* Start with installing Oracle GraalVM by following the [installation guide](../getting-started/get-started.md).
30
+
* Whether you are new to Oracle GraalVM and Native Image or have little experience using it, continue to [Getting Started with Native Image](../reference-manual/native-image/README.md).
31
+
* Developers who already have Oracle GraalVM installed, or have experience using it, should proceed to the [Reference Manuals](../reference-manual/reference-manuals.md) for in-depth coverage.
0 commit comments