Skip to content

Commit 0b37389

Browse files
author
Bernard Horan
committed
Align Graal documentation with JPG
1 parent 4adb1ee commit 0b37389

File tree

80 files changed

+621
-649
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+621
-649
lines changed

docs/enterprise-overview/overview.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,29 @@ permalink: /overview/
55

66
# Oracle GraalVM
77

8-
Oracle GraalVM compiles your Java applications ahead of time into standalone binaries.
9-
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).
8+
Oracle GraalVM compiles your Java application ahead of time into a native binary.
9+
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).
1010

1111
GraalVM reduces the attack surface of your application.
12-
It excludes unused classes, methods and fields from the application binary.
12+
It excludes unused classes, methods and fields from the native binary.
1313
It restricts reflection and other dynamic Java language features to build time only.
14-
It does not load any unknown code at run time.
14+
It does not load any unknown code at runtime.
1515

1616
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.
1717

18-
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).
18+
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 Java Virtual Machine (JVM).
1919

2020
You can use the GraalVM JDK just like any other Java Development Kit in your IDE.
2121

2222
## Key Benefits
2323

2424
Oracle GraalVM's key benefits are:
2525

26-
* **Low Resource Usage**: Java applications compiled ahead-of-time by GraalVM require less memory and CPU to run. No memory and CPU cycles are spent on just-in-time compilation. As a result, your applications need fewer resources to run and are cheaper to operate at scale.
27-
* **Fast Startup**: With GraalVM, you can start your Java applications faster by initializing parts of the application at build time instead of run time, and instantly achieve predictable peak performance with no warmup.
28-
* **Compact Packaging**: Java applications compiled ahead-of-time by GraalVM are small and can be easily packaged into lightweight container images for fast and efficient deployment.
29-
* **Improved Security**: GraalVM reduces the attack surface of your Java application by excluding the following from the binary: 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 run time, 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 binaries for published CVEs (Common Vulnerabilities and Exposures).
30-
* **Easily Build Cloud Native Microservices**: Popular microservices frameworks such as Spring Boot, Micronaut, 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 cloud platforms - OCI, AWS, GCP and Azure.
26+
* **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 need fewer resources to run and is cheaper to operate at scale.
27+
* **Fast Startup**: With GraalVM, you can start your Java application faster by initializing parts of the application at build time instead of run time, and instantly achieve predictable peak performance with no warmup.
28+
* **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.
29+
* **Improved Security**: GraalVM reduces the attack surface of your Java application by excluding the following from the binary: 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 binaries for published Common Vulnerabilities and Exposures (CVEs).
30+
* **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 cloud platforms - OCI, AWS, GCP and Azure.
3131
* **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.
3232
* **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.
3333

docs/enterprise-overview/solutions.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ permalink: /solutions-overview/
88
## Challenges Faced By Today’s Businesses
99

1010
Today’s online global enterprises and microservices alike face the same challenges:
11-
achieve better performance, and reduce ever-increasing infrastructure costs.
11+
achieve better performance and reduce ever-increasing infrastructure costs.
1212
The evolution from older, layered architectures to microservices requires new,
1313
innovative approaches to running a business either on premises or in the cloud.
1414

@@ -20,23 +20,23 @@ online marketplace.
2020
Oracle GraalVM is the foundation for innovation and improvement for both large
2121
enterprise applications and microservices alike.
2222

23-
Built on trusted and secure Oracle Java SE, Oracle GraalVM accelerates
24-
application performance while consuming fewer resourcesimproving application
23+
Built on the trusted and secure Oracle Java SE, Oracle GraalVM accelerates
24+
application performance while consuming fewer resources—improving application
2525
efficiency and reducing IT costs.
2626

2727
In data centers with ever-growing workloads, being able to service more
2828
requests with the same computing infrastructure reduces the need to purchase
29-
additional hardware. Thus Oracle GraalVM's reduction of required compute
29+
additional hardware. Thus, Oracle GraalVM's reduction of required compute
3030
resources can lower capital cost expenditures on premise and lower operation
3131
costs in the cloud.
3232

3333
## Trusted Oracle Support and Updates
3434

35-
Oracle GraalVM customers can take advantage of 24/7 access to the experienced Oracle GraalVM
35+
Oracle GraalVM customers can take advantage of 24x7 access to the experienced Oracle GraalVM
3636
support team who work closely with the Oracle Java support team.
3737

3838
Oracle GraalVM releases include all Oracle Java critical patch updates
39-
(CPUs) which are released on a regular schedule to remedy defects and known vulnerabilities.
39+
(CPUs) on a regular schedule to remedy defects and known vulnerabilities.
4040

4141
### Summary
4242

docs/getting-started/graalvm-community/container-images/graalvm-ce-container-images.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ For example:
4343

4444
## Pulling Images
4545

46-
1. To pull the container image for GraalVM JDK for a specific JDK feature version, e.g, _22_, run:
46+
1. To pull the container image for GraalVM JDK for a specific JDK feature version, such as _22_, run:
4747
```bash
4848
docker pull ghcr.io/graalvm/jdk-community:22
4949
```
@@ -53,9 +53,9 @@ For example:
5353
FROM ghcr.io/graalvm/jdk-community:22
5454
```
5555

56-
You have pulled a size compact GraalVM Community Edition container image with the GraalVM JDK and the Graal compiler pre-installed.
56+
You have pulled a size compact GraalVM Community Edition container image with the GraalVM JDK and the Graal compiler preinstalled.
5757

58-
2. To pull the container image with the `native-image` utility for a specific JDK feature version, e.g, _22_, run:
58+
2. To pull the container image with the `native-image` utility for a specific JDK feature version, such as _22_, run:
5959
```bash
6060
docker pull ghcr.io/graalvm/native-image-community:22
6161
```

docs/getting-started/graalvm-enterprise/container-images/graalvm-ee-container-images.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,26 @@ Oracle GraalVM container images are published in two OCR repositories: **jdk** a
1515

1616
| Repository | Description |
1717
|------------------|-------------|
18-
| **jdk** | Provides container images with Oracle GraalVM JDK (without the `native-image` utility) which can be used to both compile and deploy Java applications. Image tags let you select the Java version and Oracle Linux version. |
19-
| **native-image** | Provides Oracle GraalVM container images with the `native-image` utility along with all tools required to compile applications into native Linux executables. These images are commonly used in multi-stage builds to compile applications into executables that are then packaged in a lightweight container image. Image tags let you select the Java version and Oracle Linux version as well as variants that include the musl toolchain for the creation of fully statically linked executables. |
18+
| **jdk** | Provides container images with Oracle GraalVM JDK (without the `native-image` utility) which can be used to both compile and deploy Java applications. Use the container image tags to select the appropriate Java version and Oracle Linux version. |
19+
| **native-image** | Provides Oracle GraalVM container images with the `native-image` utility along with all tools required to compile applications into native Linux executables. These images are commonly used in multistage builds to compile applications into executables that are then packaged in a lightweight container image. Use the container image tags to select the Java version and Oracle Linux version as well as variants that include the musl toolchain for the creation of fully statically linked executables. |
2020

2121
Both repositories provide container images for AMD64 and AArch64 processor architectures, with a choice of Oracle Linux versions 7, 8, or 9.
2222

23-
Oracle GraalVM is installed in `/usr/lib64/graalvm/graalvm-java<$FeatureVersion>` where `<$FeatureVersion>` is `17`, `21`, `22`, etc.
24-
For instance, Oracle GraalVM for JDK 22 is installed in `/usr/lib64/graalvm/graalvm-java22`.
23+
Oracle GraalVM is installed in _/usr/lib64/graalvm/graalvm-java&lt;$FeatureVersion&gt;_ where `<$FeatureVersion>` is `17`, `21`, `22`, and so on.
24+
For example, Oracle GraalVM for JDK 22 is installed in _/usr/lib64/graalvm/graalvm-java22_.
2525
All binaries, including `java`, `javac`, `native-image`, and other binaries are available as global commands via the `alternatives` command.
2626

2727
## Tags
2828

2929
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
30-
Oracle GraalVM image tags use the following naming convention:
30+
Oracle GraalVM container image tags use the following naming convention:
3131

3232
```bash
3333
$version[-muslib(for native image only)][-$platform][-$buildnumber]
3434
```
3535

3636
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
37-
The most-specific tag is unique and always points to the same image, while the less-specific tags point to newer image variants over time.
37+
The most-specific tag is unique and always points to the same container image, while the less-specific tags point to newer container image variants over time.
3838

3939
```
4040
17.0.8-ol9-20230904
@@ -46,7 +46,7 @@ The most-specific tag is unique and always points to the same image, while the l
4646

4747
## Pulling Images
4848

49-
1. To pull the container image for Oracle GraalVM JDK for a specific JDK feature version, e.g., _22_, run:
49+
1. To pull the container image for Oracle GraalVM JDK for a specific JDK feature version, such as _22_, run:
5050

5151
```bash
5252
docker pull container-registry.oracle.com/graalvm/jdk:22
@@ -58,7 +58,7 @@ The most-specific tag is unique and always points to the same image, while the l
5858
FROM container-registry.oracle.com/graalvm/jdk:22
5959
```
6060

61-
2. To pull the container image for Oracle GraalVM `native-image` utility for a specific JDK feature version, e.g., _22_, run:
61+
2. To pull the container image for Oracle GraalVM `native-image` utility for a specific JDK feature version, such as _22_, run:
6262

6363
```bash
6464
docker pull container-registry.oracle.com/graalvm/native-image:22
@@ -76,44 +76,44 @@ The most-specific tag is unique and always points to the same image, while the l
7676
FROM container-registry.oracle.com/graalvm/native-image:22-muslib
7777
```
7878

79-
3. To verify, start the container and enter the Bash session:
79+
3. To verify, start the container and enter a `bash` session:
8080

8181
```bash
8282
docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:22
8383
```
8484

85-
To check the version of Oracle GraalVM and its installed location, run the `env` command from the Bash prompt:
85+
To check the version of Oracle GraalVM and its installed location, run the `env` command from the `bash` prompt:
8686

8787
```bash
8888
env
8989
```
9090

9191
The output shows the environment variable `JAVA_HOME` pointing to the installed Oracle GraalVM version and location.
9292

93-
To check the Java version, run the following command from the Bash prompt:
93+
To check the Java version, run the following command from the `bash` prompt:
9494

9595
```bash
9696
java -version
9797
```
9898

9999
The output shows the installed Oracle GraalVM Java runtime environment and version information.
100100

101-
To check the `native-image` version, run the following command from the Bash prompt:
101+
To check the `native-image` version, run the following command from the `bash` prompt:
102102

103103
```bash
104104
native-image --version
105105
```
106106

107107
The output shows the installed Oracle GraalVM `native-image` utility version information.
108108

109-
4. Calling `docker pull` without specifying a processor architecture pulls container images for the processor architecture that matches your Docker client.
109+
4. A `docker pull` command that omits a processor architecture pulls container images for the processor architecture that matches your Docker client.
110110
To pull container images for a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
111111

112112
```bash
113113
docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:22
114114
```
115115

116-
### Learn More
116+
### Related Documentation
117117

118118
- [GraalVM Native Image, Spring and Containerisation](https://luna.oracle.com/lab/fdfd090d-e52c-4481-a8de-dccecdca7d68): Learn how GraalVM Native Image can generate native executables ideal for containerization.
119119
- [Announcement Blog: New Oracle GraalVM Container Images](https://blogs.oracle.com/java/post/new-oracle-graalvm-container-images)

docs/getting-started/graalvm-enterprise/get-started-graalvm-enterprise.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ permalink: /getting-started/
55

66
# Getting Started with Oracle GraalVM
77

8-
Oracle GraalVM compiles your Java applications ahead of time into standalone binaries that start instantly, provide peak performance with no warmup, and use fewer resources.
8+
Oracle GraalVM compiles your Java application ahead of time into a native binary that starts instantly, provides peak performance with no warmup, and uses fewer resources.
99

10-
Here you will find information about installing Oracle GraalVM and running basic applications with it.
10+
Here you can find information about how to install Oracle GraalVM and run basic applications with it.
1111

1212
If you are new to Oracle GraalVM, we recommend starting with the [GraalVM Overview](../../introduction.md), where you will find information about GraalVM's benefits, distributions available, supported platforms, features support, and licensing.
1313

1414
If you have Oracle GraalVM already installed and have experience using it, you can skip this page and proceed to the in-depth [reference manuals](../../reference-manual/reference-manuals.md).
1515
## How Can I Get Oracle GraalVM?
1616

1717
You can get Oracle GraalVM by:
18-
- downloading from [Oracle Java Downloads](https://www.oracle.com/uk/java/technologies/downloads/).
18+
- downloading it from [Oracle Java Downloads](https://www.oracle.com/uk/java/technologies/downloads/).
1919
- subscribing to [Oracle Java SE Subscription and Oracle Java SE Desktop Subscription](https://www.oracle.com/uk/java/java-se-subscription/). The subscription includes entitlement to Oracle GraalVM.
20-
- subscribing to [Oracle Cloud](https://www.oracle.com/cloud). Oracle GraalVM is free to use, including support, for Oracle Cloud subscribers.
20+
- subscribing to [Oracle Cloud Infrastructure](https://www.oracle.com/cloud). Oracle GraalVM is free to use, including support, for Oracle Cloud Infrastructure subscribers.
2121

22-
Choose your operating system and proceed to the installation steps for your specific platform:
22+
Installation steps for your specific platform:
2323

24-
* Oracle Cloud (OCI)
24+
* Oracle Cloud Infrastructure (OCI)
2525
* [Code Editor](oci/code-editor.md)
2626
* [Cloud Shell](oci/cloud-shell.md)
2727
* [Compute with Oracle Linux 7/8](oci/installation-compute-instance-with-OL.md)
@@ -44,7 +44,7 @@ $JAVA_HOME/bin/java -version
4444

4545
Using [GraalVM Native Image](../../reference-manual/native-image/README.md) you can compile Java bytecode into a platform-specific, self-contained native executable to achieve faster startup and a smaller footprint for your application.
4646

47-
Compile this simplest _HelloWorld.java_ application to bytecode and then build a native executable:
47+
Compile this _HelloWorld.java_ application to bytecode and then build a native executable:
4848
```java
4949
public class HelloWorld {
5050
public static void main(String[] args) {
@@ -61,7 +61,7 @@ native-image HelloWorld
6161
```
6262

6363
The last command generates an executable file named _helloworld_ in the current working directory.
64-
Invoking it runs the natively compiled code of the `HelloWorld` class as follows:
64+
Invoking it runs the natively-compiled code of the `HelloWorld` class as follows:
6565
```shell
6666
./helloworld
6767
Hello, World!
@@ -73,15 +73,15 @@ Hello, World!
7373

7474
### New Users
7575

76-
Continue to [Native Image basics](../../reference-manual/native-image/NativeImageBasics.md) to gradually educate yourself about the technology.
76+
Continue to [Native Image basics](../../reference-manual/native-image/NativeImageBasics.md) to educate yourself about the technology.
7777
For users who are familiar with GraalVM Native Image but may have little experience using it, proceed to [User Guides](../../reference-manual/native-image/guides/guides.md).
7878

7979
For more information on the Graal compiler, see the [compiler documentation](../../reference-manual/java/compiler.md).
8080
Larger Java examples can be found in the [GraalVM Demos repository on GitHub](https://github.com/graalvm/graalvm-demos).
8181

82-
### Oracle Cloud Users
82+
### Oracle Cloud Infrastructure Users
8383

84-
Oracle Cloud users considering Oracle GraalVM for their cloud workloads are invited to read [Oracle GraalVM on OCI](oci/installation-compute-instance-with-OL.md).
84+
Oracle Cloud Infrastructure users who are considering Oracle GraalVM for their cloud workloads are invited to read [Oracle GraalVM on OCI](oci/installation-compute-instance-with-OL.md).
8585
This page focuses on using Oracle GraalVM with an Oracle Cloud Infrastructure Compute instance.
8686

8787
### Advanced Users

0 commit comments

Comments
 (0)