<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>SharedClassURLHelper (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.sharedclasses, package: com.ibm.oti.shared, interface: SharedClassURLHelper">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.oti.shared.SharedClassURLHelper interface">
<meta name="keywords" content="findSharedClass()">
<meta name="keywords" content="storeSharedClass()">
<meta name="keywords" content="setMinimizeUpdateChecks()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/SharedClassURLHelper.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!--   -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">openj9.sharedclasses</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.oti.shared</a></div>
<h1 title="Interface SharedClassURLHelper" class="title">Interface SharedClassURLHelper</h1>
</div>
<section class="description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="SharedClassHelper.html" title="interface in com.ibm.oti.shared">SharedClassHelper</a></code>, <code><a href="SharedHelper.html" title="interface in com.ibm.oti.shared">SharedHelper</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">SharedClassURLHelper</span><span class="extends-implements">
extends <a href="SharedClassHelper.html" title="interface in com.ibm.oti.shared">SharedClassHelper</a></span></div>
<div class="block"><p>SharedClassHelper API that stores and finds classes by using URL paths.</p>
 <h2>Description</h2>
 <p>A SharedClassURLHelper is obtained by calling getURLHelper(ClassLoader) on a SharedClassHelperFactory.</p>
 <p>The SharedClassURLHelper is designed for ClassLoaders that load classes from many different locations, without the concept of a classpath.
 A ClassLoader may find and store classes in the cache using any URL.</p>
 <h2>Usage</h2>
 <p>The ClassLoader should call findSharedClass after looking in its local cache and asking its parent (if one exists).
 If findSharedClass does not return null, the ClassLoader calls defineClass on the byte[] that is returned.</p>
 <p>The ClassLoader calls storeSharedClass immediately after a class is defined, unless the class that is being defined was loaded from the shared cache.</p>
 <p>If partitions are required, the ClassLoader is responsible for coordinating the creation and use of partition Strings.</p>
 <p>Classes can be stored only by using URLs that have file or jar protocols, and that refer to existing resources.
 The presence of any other protocol in a URL prevents SharedClassURLHelper from locating and storing classes in the shared cache.</p>
 <h2>Dynamic Cache Updates</h2> 
 <p>Because the shared cache persists beyond the lifetime of a JVM, classes in the shared cache can become out of date (stale).</p>
 Classes in the cache are automatically kept up to date by default:<br>
 <p>If findSharedClass is called for a class that exists in the cache but which has been updated on the filesystem since it was stored,
 then the old version in the cache is automatically marked stale and findSharedClass returns null.
 The ClassLoader should then store the updated version of the class.</p>
 <p>Note that jar/zip updates will cause all cache entries that are loaded from that jar/zip to be marked stale.</p>
 <p>(This behaviour can be disabled by using the correct command-line option. See -Xshareclasses:help)</p>
 <p>It is also assumed that the ClassLoader maintains a read lock on jar/zip files opened during its lifetime, preventing their modification.
 This prevents the cache from having to constantly check for updates.</p>
 <h2>Partitions</h2>
 <p>A partition can be used when finding or storing a class, which allows modified versions of the same class
   to be stored in the cache, effectively creating <q>partitions</q> in the cache.</p>
 <p>Partitions are designed for bytecode modification such as the use of Aspects. It is the responsibility of the ClassLoader
   to create partitions that describe the type of modification performed on the class bytes.</p>
 <p>If a class is updated on the filesystem and automatic dynamic updates are enabled, then all versions of the class across
   all partitions will be marked stale.</p>
 <h2>Class metadata</h2>
 <p>A ClassLoader might create metadata when loading and defining classes, such as a jar manifest or security data.
 None of this metadata can be stored in the cache, so if a ClassLoader is finding classes in the shared cache, it must load
   any metadata that it needs from disk before defining the classes.</p>
 <h2>Security</h2>
 <p>A SharedClassHelper will only allow classes that were defined by the ClassLoader that owns the SharedClassHelper to be stored in the cache.</p>
 <p>If a SecurityManager is installed, SharedClassPermissions must be used to permit read/write access to the shared class cache.
 Permissions are granted by ClassLoader classname in the java.policy file and are fixed when the SharedClassHelper is created.</p>
 <p>Note also that if the createClassLoader RuntimePermission is not granted, ClassLoaders cannot be created, 
 which in turn means that SharedClassHelpers cannot be created.</p>
 <h2>Compatibility with other SharedClassHelpers</h2>
 <p>Classes stored by using the SharedClassURLHelper can be retrieved by using the SharedClassURLClasspathHelper and vice versa.
 This is also true for partitions that can be used across these two helpers.</p></div>
<dl class="notes">
<dt>See Also:</dt>
<dd><a href="SharedClassURLHelper.html" title="interface in com.ibm.oti.shared"><code>SharedClassURLHelper</code></a>, 
<a href="SharedClassHelperFactory.html" title="interface in com.ibm.oti.shared"><code>SharedClassHelperFactory</code></a>, 
<a href="SharedClassPermission.html" title="class in com.ibm.oti.shared"><code>SharedClassPermission</code></a></dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>byte[]</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#findSharedClass(java.lang.String,java.net.URL,java.lang.String)">findSharedClass</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;partition,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;className)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Finds a class in the shared cache by using a specific URL, class name, and user-defined partition (see <q>Partitions</q>).</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>byte[]</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#findSharedClass(java.net.URL,java.lang.String)">findSharedClass</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;className)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Finds a class in the shared cache by using a specific URL and class name.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#setMinimizeUpdateChecks()">setMinimizeUpdateChecks</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Minimizes update checking on jar files for optimal performance.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#storeSharedClass(java.lang.String,java.net.URL,java.lang.Class)">storeSharedClass</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;partition,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link" target="_blank">Class</a>&lt;?&gt;&nbsp;clazz)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Stores a class in the shared cache by using the URL location it was loaded from and a user-defined partition (see <q>Partitions</q>).</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3"><code><span class="member-name-link"><a href="#storeSharedClass(java.net.URL,java.lang.Class)">storeSharedClass</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link" target="_blank">Class</a>&lt;?&gt;&nbsp;clazz)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table method-summary-table-tab3">
<div class="block">Stores a class in the shared cache by using the URL location it was loaded from.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.oti.shared.SharedClassHelper">Methods declared in interface&nbsp;com.ibm.oti.shared.<a href="SharedClassHelper.html" title="interface in com.ibm.oti.shared">SharedClassHelper</a></h3>
<code><a href="SharedClassHelper.html#getSharingFilter()">getSharingFilter</a>, <a href="SharedClassHelper.html#setSharingFilter(com.ibm.oti.shared.SharedClassFilter)">setSharingFilter</a></code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.oti.shared.SharedHelper">Methods declared in interface&nbsp;com.ibm.oti.shared.<a href="SharedHelper.html" title="interface in com.ibm.oti.shared">SharedHelper</a></h3>
<code><a href="SharedHelper.html#getClassLoader()">getClassLoader</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="findSharedClass(java.net.URL,java.lang.String)">
<h3>findSharedClass</h3>
<div class="member-signature"><span class="return-type">byte[]</span>&nbsp;<span class="element-name">findSharedClass</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;className)</span></div>
<div class="block"><p>Finds a class in the shared cache by using a specific URL and class name.
 A class will be returned if it was stored against the same URL.</p>
 <p>Null is returned if the class cannot be found or if it is stale (see <q>Dynamic cache updates</q>).</p>
 <p>To obtain an instance of the class, the byte[] returned must be passed to defineClass by the caller ClassLoader.</p>
 <p>Also returns false if the URL at foundAtIndex is not a file URL or if the resource it refers to does not exist. </p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>path</code> - URL.
                                        A URL path. Cannot be null.</dd>
<dd><code>className</code> - String.
                                        The name of the class to be found</dd>
<dt>Returns:</dt>
<dd>byte[].
                                        A byte array describing the class found, or null.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="findSharedClass(java.lang.String,java.net.URL,java.lang.String)">
<h3>findSharedClass</h3>
<div class="member-signature"><span class="return-type">byte[]</span>&nbsp;<span class="element-name">findSharedClass</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;partition,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;className)</span></div>
<div class="block"><p>Finds a class in the shared cache by using a specific URL, class name, and user-defined partition (see <q>Partitions</q>).</p>
 <p>A class returned only if it was stored against the same URL, and was using the same partition.
 Null is returned if the class cannot be found or if it is stale (see <q>Dynamic cache updates</q>).</p>
 <p>To obtain an instance of the class, the byte[] returned must be passed to defineClass by the caller ClassLoader.</p>
 <p>Also returns false if the URL at foundAtIndex is not a file URL or if the resource it refers to does not exist. </p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>partition</code> - String.
                                        User-defined partition if finding modified bytecode (see <q>Partitions</q>).
                                        Passing null is equivalent of calling non-partition findSharedClass call.</dd>
<dd><code>path</code> - URL.
                                        A URL path. Cannot be null.</dd>
<dd><code>className</code> - String.
                                        The name of the class to be found</dd>
<dt>Returns:</dt>
<dd>byte[].
                                        A byte array describing the found class, or null.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="storeSharedClass(java.net.URL,java.lang.Class)">
<h3>storeSharedClass</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">storeSharedClass</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link" target="_blank">Class</a>&lt;?&gt;&nbsp;clazz)</span></div>
<div class="block"><p>Stores a class in the shared cache by using the URL location it was loaded from.
 The class that is being stored must have been defined by the caller ClassLoader and must exist in the URL location specified.
 Returns <code>true</code> if the class is stored successfully or <code>false</code> otherwise.</p>
 <p>Will return <code>false</code> if the class that is being stored was not defined by the caller ClassLoader.</p>
 <p>Also returns <code>false</code> if the URL at foundAtIndex is not a file URL or if the resource it refers to does not exist.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>path</code> - URL.
                                        The URL path that the class was loaded from. Cannot be null.</dd>
<dd><code>clazz</code> - Class.
                                        The class to store in the shared cache</dd>
<dt>Returns:</dt>
<dd>boolean.
                                        True if the class was stored successfully, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="storeSharedClass(java.lang.String,java.net.URL,java.lang.Class)">
<h3>storeSharedClass</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">storeSharedClass</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;partition,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/net/URL.html" title="class or interface in java.net" class="external-link" target="_blank">URL</a>&nbsp;path,
 <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link" target="_blank">Class</a>&lt;?&gt;&nbsp;clazz)</span></div>
<div class="block"><p>Stores a class in the shared cache by using the URL location it was loaded from and a user-defined partition (see <q>Partitions</q>).</p>
 <p>The class being stored must have been defined by the caller ClassLoader and must exist in the URL location specified.
 Returns <code>true</code> if the class is stored successfully or <code>false</code> otherwise.</p>
 <p>Will return <code>false</code> if the class being stored was not defined by the caller ClassLoader.</p>
 <p>Also returns <code>false</code> if the URL at foundAtIndex is not a file URL or if the resource it refers to does not exist.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>partition</code> - String.
                                        User-defined partition if storing modified bytecode (see <q>Partitions</q>).
                                        Passing null is equivalent of calling non-partition storeSharedClass call.</dd>
<dd><code>path</code> - URL.
                                        The URL path that the class was loaded from. Cannot be null.</dd>
<dd><code>clazz</code> - Class.
                                        The class to store in the shared cache</dd>
<dt>Returns:</dt>
<dd>boolean.
                                        True if the class was stored successfully, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setMinimizeUpdateChecks()">
<h3>setMinimizeUpdateChecks</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">setMinimizeUpdateChecks</span>()</div>
<div class="block"><p>Minimizes update checking on jar files for optimal performance.</p>
 <p>By default, when a class is loaded from the shared class cache, the timestamp of the container it was originally loaded from is
 compared with the timestamp of the actual container on the filesystem. If the two do not match, the original class is marked stale
 and is not returned by findSharedClass(). These checks are not performed if the container is held open by the ClassLoader.</p>
 <p>If the ClassLoader does not want to open the container, but doesn't want the timestamp to be constantly checked when 
 classes are loaded, it should call this function immediately after the SharedClassURLHelper object has been created.
 After this function has been called, each container timestamp is checked once and then is only checked again if the 
 container jar file is opened.<br>
 <p>This feature cannot be unset.</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>boolean.
                                        True if the feature has been successfully set, false otherwise.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>
