Sunday, December 18, 2011

Threads Class Hierarchy OpenJDK (Ref thread.hpp)

Below is taken from hotspot\src\share\vm\runtime\thread.hpp file

Class hierarchy

Thread
   |-> NamedThread
          |-> VMThread
          |-> ConcurrentGCThread
          |-> WorkerThread
                  |-> GangWorker
                  |-> GCTaskThread
   |-> JavaThread
   |-> WatcherThread

Thursday, December 15, 2011

Comments from OpenJdk Source

When going through openJDK source found good comments in the source file, thought it would help me a lot for reference....so blogging it

Source: jdk7-b147 (tag)
File Name: hotspot\src\share\vm\memory\space.hpp [line number from 48 to 65]

//  A space is an abstraction for the "storage units" backing
// up the generation abstraction. It includes specific
// implementations for keeping track of free and used space,
// for iterating over objects and free blocks, etc.

// Here's the Space hierarchy:
//
// - Space-- an asbtract base class describing a heap area
// - CompactibleSpace -- a space supporting compaction
// - CompactibleFreeListSpace -- (used for CMS generation)
// - ContiguousSpace -- a compactible space in which all free space
// is contiguous
// - EdenSpace -- contiguous space used as nursery
// - ConcEdenSpace -- contiguous space with a 'soft end safe' allocation
// - OffsetTableContigSpace -- contiguous space with a block offset array
// that allows "fast" block_start calls
// - TenuredSpace -- (used for TenuredGeneration)
// - ContigPermSpace -- an offset table contiguous space for perm gen

----- END of hotspot\src\share\vm\memory\space.hpp