ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaha_5.4.0.1/gc.htm

87 lines
7.6 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Java garbage collection" />
<meta name="abstract" content="Garbage collection is the process of freeing storage that is used by objects that are no longer referred to by a program. With garbage collection, programmers no longer have to write error prone code to explicitly &#34;free&#34; or &#34;delete&#34; their objects. This code frequently results in &#34;memory leak&#34; program errors. The garbage collector automatically detects an object or group of objects that the user program can no longer reach. It does this because there are no references to that object in any program structure. Once the object has been collected, you can allocate the space for other uses." />
<meta name="description" content="Garbage collection is the process of freeing storage that is used by objects that are no longer referred to by a program. With garbage collection, programmers no longer have to write error prone code to explicitly &#34;free&#34; or &#34;delete&#34; their objects. This code frequently results in &#34;memory leak&#34; program errors. The garbage collector automatically detects an object or group of objects that the user program can no longer reach. It does this because there are no references to that object in any program structure. Once the object has been collected, you can allocate the space for other uses." />
<meta name="DC.Relation" scheme="URI" content="tuning.htm" />
<meta name="DC.Relation" scheme="URI" content="evenperf.htm" />
<meta name="DC.Relation" scheme="URI" content="runtperf.htm" />
<meta name="DC.Relation" scheme="URI" content="jnmiperf.htm" />
<meta name="DC.Relation" scheme="URI" content="jmiperf.htm" />
<meta name="DC.Relation" scheme="URI" content="excperf.htm" />
<meta name="DC.Relation" scheme="URI" content="callperf.htm" />
<meta name="DC.Relation" scheme="URI" content="profperf.htm" />
<meta name="DC.Relation" scheme="URI" content="colpdc.htm" />
<meta name="DC.Relation" scheme="URI" content="advgc.htm" />
<meta name="DC.Relation" scheme="URI" content="gcperf.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="gc" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Java garbage collection</title>
</head>
<body id="gc"><a name="gc"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Java garbage collection</h1>
<div><p>Garbage collection is the process of freeing storage that is used
by objects that are no longer referred to by a program. With garbage collection,
programmers no longer have to write error prone code to explicitly "free"
or "delete" their objects. This code frequently results in "memory leak" program
errors. The garbage collector automatically detects an object or group of
objects that the user program can no longer reach. It does this because there
are no references to that object in any program structure. Once the object
has been collected, you can allocate the space for other uses.</p>
<p>The <a href="javavirm.htm">Java™ runtime environment</a> includes
a garbage collector that frees memory that is no longer in use. The garbage
collector runs automatically, as needed.</p>
<p>The garbage collector can also be started explicitly under the control
of the Java program using the java.lang.Runtime.gc() method.</p>
</div>
<div>
<ul class="ullinks">
<li class="ulchildlink"><strong><a href="advgc.htm">IBM Developer Kit for Java advanced garbage collection</a></strong><br />
The IBM<sup>®</sup> Developer
Kit for Java implements an advanced garbage collector algorithm.
This algorithm allows the discovery and collection of unreachable objects
without significant pauses in the operation of the Java program. A concurrent collector cooperatively
discovers the references to objects under the running threads, instead of
a single thread.</li>
<li class="ulchildlink"><strong><a href="gcperf.htm">Java garbage collection performance considerations</a></strong><br />
Garbage collection on the iSeries™ Java virtual machine operates in a continuous
asynchronous mode. The garbage collection-initial size (GCHINL) parameter
on the Run Java (RUNJVA) command may affect application performance. </li>
</ul>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="tuning.htm" title="You should take several aspects of Java application performance into consideration when building a Java application for your iSeries server.">Tune Java program performance with IBM Developer Kit for Java</a></div>
</div>
<div class="relconcepts"><strong>Related concepts</strong><br />
<div><a href="evenperf.htm" title="The iSeries Java virtual machine enables the trace of certain Java events.">Java event trace performance tools</a></div>
<div><a href="runtperf.htm" title="Understanding the following considerations can help you improve the performance of your Java applications.">Java performance considerations</a></div>
<div><a href="jnmiperf.htm" title="Native method invocation on an iSeries server may not perform as well as native method invocation on other platforms.">Java Native Method Invocation performance considerations</a></div>
<div><a href="jmiperf.htm" title="Method inlining can significantly improve method call performance. Any method that is final is a potential candidate for inlining.">Java method inlining performance considerations</a></div>
<div><a href="excperf.htm" title="The iSeries exception architecture allows versatile interrupt and retry capabilities. It also allows mixed language interaction. Throwing Java exceptions on an iSeries server may be more expensive than on other platforms. This should not affect overall application performance unless Java exceptions are routinely used in the normal application path.">Java exception performance considerations</a></div>
<div><a href="callperf.htm" title="Java method call traces provide significant performance information about the time that is spent in each Java method.">Java call trace performance tools</a></div>
<div><a href="profperf.htm" title="System wide central processing unit (CPU) profiling calculates the relative amount of CPU time that is spent in each Java method and all system functions in use by your Java program.">Java profiling performance tools</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="colpdc.htm" title="To collect Java performance data on an iSeries server, follow these steps.">Collect Java performance data</a></div>
</div>
</div>
</body>
</html>