This is a memory allocation benchmark which allocates a series of date structures and times how long it takes. The program arranges that different data structures remain live (i.e. accessible to the program through a series of object references) for different amounts of time. Try running it with different garbage collector configuration, or with different JVMs, or simply with different settings for the maximum heap size.