Archived: GC Test - Releasing Old vs. New Objects

This section provides a tutorial example on testing garbage collection by comparing performances between release old objects and new objects.

In the previous tests, objects were released from the tail of the list. So old objects were released first. To see if there are any differences between releasing old objects and new objects, I changed the code to use the objList.removeHead() method. 4 tests were conducted to compare with the previous tests:

java -Xms2m -Xmx8m GCTest 16 1 > head_16_01.out
java -Xms2m -Xmx8m GCTest 16 8 > head_16_08.out
java -Xms2m -Xmx8m GCTest 16 16 > head_16_16.out
java -Xms2m -Xmx8m GCTest 16 24 > head_16_24.out

The outputs were very similar to those using objList.removeTail() method. head_16_24.out also showed a memory crash at second 43.

Table of Contents

 About This Book

 JVM (Java Virtual Machine) Specification

 Java HotSpot VM - JVM by Oracle/Sun

 java.lang.Runtime Class - The JVM Instance

 java.lang.System Class - The Operating System

 ClassLoader Class - Class Loaders

 Class Class - Class Reflections

 JVM Runtime Data Areas

 JVM Stack, Frame and Stack Overflow

 Thread Testing Program and Result

 CPU Impact of Multi-Thread Applications

 I/O Impact of Multi-Thread Applications

 CDS (Class Data Sharing)

 Micro Benchmark Runner and JVM Options

 Micro Benchmark Tests on "int" Operations

 Micro Benchmark Tests on "long" Operations

 Micro Benchmark Tests in JIT Compilation Mode

 Micro Benchmark Tests on "float" and "double" Operations

 OpenJ9 by Eclipse Foundation

 JRockit JVM 28.2.7 by Oracle Corporation

Archived Tutorials

 Archived: Download and Install Latest JDK 10 on Windows

 Archived: Download and Install JDK 1.8.0 on Windows

 Archived: Download and Install JDK 1.7.0 on Windows

 Archived: Download and Install Java SE 1.6 Update 2

 Archived: Installing JRockit JVM 8.0

 Archived: Testing with LongWhile.java

 Archived: Testing with LongSleep.java

 Archived: GCTest.java - Garbage Collection Test Program

 Archived: GC Test - Constant Memory Requirement

 Archived: GC Test - Periodical Memory Requirement

Archived: GC Test - Releasing Old vs. New Objects

 Archived: GC Test - JDK 1.4.0 vs. JDK 1.3.1

 Archived: GC Test - Client vs. Server

 Archived: StringBuffer Testing Program

 Archived: Installing JRockit JVM 7.0

 Archived: Running JRockit JVM with Management Console

 References

 Full Version in PDF/EPUB