Skip to content

Commit 77a7022

Browse files
ZIP64 support added
#1701 Related topics updated with the ZIP64 support information. Closes #1701 Signed-off-by: Sreekala Gopakumar sreekala.gopakumar@ibm.com
1 parent d3b388d commit 77a7022

5 files changed

Lines changed: 59 additions & 2 deletions

File tree

docs/openj9glossary.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ This glossary provides definitions for technical terms used throughout the Eclip
132132
| **VM (Virtual Machine)** | The runtime environment that executes Java bytecode and manages application resources. | <ul><li>[New to Eclipse OpenJ9?](openj9_newuser.md)</li><li>[Garbage collection policies](gc.md)</li><li>[The JIT compiler](jit.md)</li></ul> |
133133
| **Warm Optimization** | The standard JIT optimization level used after startup for most methods that reach the invocation threshold. See [Optimization levels](jit.md#optimization-levels). | <ul><li>[The JIT compiler](jit.md)</li><li>[-Xjit / -Xnojit](xjit.md)</li></ul> |
134134
| **Write Barrier** | A mechanism that tracks object reference modifications to support concurrent GC operations. | <ul><li>[Garbage collection policies](gc.md)</li></ul> |
135+
| **ZIP64** | Extensions to the ZIP file format specification that overcomes the 4 GB size limitation of standard ZIP files. Supported on 64-bit platforms from the 0.60.0 release onwards for bootstrap class loading and shared classes cache. | <ul><li>[What's new in version 0.60.0](version0.60.md)</li><li>[Introduction to class data sharing](shrc.md)</li><li>[-Xzero](xzero.md)</li></ul> |
135136

136137
## Command-Line Options & Configuration
137138

docs/shrc.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ For a set of best practices when using class data sharing, see [Creating a share
9292

9393
When a VM loads a class and the class loader is enabled for class sharing, the VM looks in the shared classes cache to see if the class is already present. If the class is present and the classpath or URL to load the class is a match, the VM loads the class from the cache. Otherwise, it loads the class from the file system and writes it into the cache.
9494

95+
:fontawesome-solid-pencil:{: .note aria-hidden="true"} **Note:** From the 0.60.0 release onwards, the VM supports ZIP files that use ZIP64 extensions for shared classes cache operations. This allows caching of classes from large JAR files that exceed the 4 GB size limitation of standard ZIP files. The VM automatically detects ZIP64 extensions and handles them appropriately.
96+
9597
The VM detects file system updates by storing timestamp values into the cache and comparing the cached values with actual values. In this way, the VM detects when a class might be invalidated and can mark the class as *stale*. These operations happen transparently when classes are loaded, so users can modify and update as many classes as they like during the lifetime of a shared classes cache, knowing that the correct classes are always loaded. Stale classes are *redeemed* if the same class is subsequently fetched by the class loader from another VM and checked against the stale class in the cache.
9698

9799
Occasionally, caches that are created from one version of the VM might not be compatible with caches that are created from a different version. This situation typically occurs when an update is made in OpenJ9 that changes the internal cache data structure. If a VM detects an incompatible cache at start up, it creates a new cache that can coexist, even if it has the same name. The VM detects a conflict by checking an internal shared classes cache generation number.
@@ -327,7 +329,7 @@ Although it is possible to combine partitions and modification contexts, this pr
327329
## See also
328330

329331
- [AOT compiler](aot.md)
330-
- [Class sharing article](https://developer.ibm.com/languages/java/tutorials/j-class-sharing-openj9/)
332+
<!--SG - This page is no longer available (22 May 2026) - [Class sharing article](https://developer.ibm.com/languages/java/tutorials/j-class-sharing-openj9/)-->
331333
- [Diagnosing problems with class data sharing](shrc_diag_util.md)
332334

333335

docs/version0.60.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<!--
2+
* Copyright (c) 2017, 2026 IBM Corp. and others
3+
*
4+
* This program and the accompanying materials are made
5+
* available under the terms of the Eclipse Public License 2.0
6+
* which accompanies this distribution and is available at
7+
* https://www.eclipse.org/legal/epl-2.0/ or the Apache
8+
* License, Version 2.0 which accompanies this distribution and
9+
* is available at https://www.apache.org/licenses/LICENSE-2.0.
10+
*
11+
* This Source Code may also be made available under the
12+
* following Secondary Licenses when the conditions for such
13+
* availability set forth in the Eclipse Public License, v. 2.0
14+
* are satisfied: GNU General Public License, version 2 with
15+
* the GNU Classpath Exception [1] and GNU General Public
16+
* License, version 2 with the OpenJDK Assembly Exception [2].
17+
*
18+
* [1] https://www.gnu.org/software/classpath/license.html
19+
* [2] https://openjdk.org/legal/assembly-exception.html
20+
*
21+
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 OR GPL-2.0-only WITH OpenJDK-assembly-exception-1.0
22+
-->
23+
24+
# What's new in version 0.60.0
25+
26+
The following new features and notable changes since version 0.59.0 are included in this release:
27+
28+
- [New binaries and changes to supported environments](#binaries-and-supported-environments)
29+
- [ZIP64 extension support is added for 64-bit platforms](#zip64-extension-support-is-added-for-64-bit-platforms)
30+
31+
## Features and changes
32+
33+
### Binaries and supported environments
34+
35+
Eclipse OpenJ9&trade; release 0.60.0 supports OpenJDK 8, 11, 17, 21, 25, and 26.
36+
37+
To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see [Supported environments](openj9_support.md).
38+
39+
### ZIP64 extension support is added for 64-bit platforms
40+
41+
On 64-bit platforms, the OpenJ9 VM now supports ZIP files that use ZIP64 extensions for bootstrap class loading and shared classes cache operations.
42+
43+
This enhancement enables the VM to overcome the 4 GB size limitation of the standard ZIP files and work with large JAR or ZIP files.
44+
45+
The VM automatically detects and handles ZIP files that contain ZIP64 extensions. The VM works with both standard ZIP files and ZIP files that use ZIP64 extensions.
46+
47+
For more information about shared classes cache, see [Introduction to class data sharing](shrc.md).
48+
49+
## Known problems and full release information
50+
51+
To see known problems and a complete list of changes between Eclipse OpenJ9 v0.59.0 and v0.60.0 releases, see the [Release notes](https://github.com/eclipse-openj9/openj9/blob/master/doc/release-notes/0.60/0.60.md).
52+
53+
<!-- ==== END OF TOPIC ==== version0.60.md ==== -->

docs/xzero.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The following parameters are no longer supported. The options are parsed but do
4949
| `-Xzero:sharezip` | Enables the sharezip sub option |
5050
| `-Xzero:nosharezip` | Disables the sharezip sub option |
5151

52-
52+
:fontawesome-solid-pencil:{: .note aria-hidden="true"} **Note:** From the 0.60.0 release onwards, the OpenJ9 VM supports ZIP files that use ZIP64 extensions, enabling support for JAR and ZIP archives larger than 4 GB. This support is independent of the `-Xzero` option settings.
5353

5454

5555
<!-- ==== END OF TOPIC ==== xzero.md ==== -->

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ nav:
101101

102102
- "Release notes" :
103103
- "Overview" : openj9_releases.md
104+
- "Version 0.60.0" : version0.60.md
104105
- "Version 0.59.0" : version0.59.md
105106
- "Version 0.58.0" : version0.58.md
106107
- "Version 0.57.0" : version0.57.md

0 commit comments

Comments
 (0)