deep

a Cross Development Platform for Java

User Tools

Site Tools


dev:rts:heap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
dev:rts:heap [2014/05/26 15:38] – external edit 127.0.0.1dev:rts:heap [2015/03/17 15:32] – [Sweep Phase] ursgraf
Line 8: Line 8:
  
 ===== Free Blocks, Allocation ===== ===== Free Blocks, Allocation =====
-There are 8 lists with block sizes of (Bytes) 16, 32, 48, 64, 80, 96, 112 and >= 128. At the very beginning there is no array with theses lists. Therefore the allocation must be done "by hand". Only after the class constructor of the class //Heap// is executed the rest of the heap can be entered as a free block. \\ +There are 8 lists with block sizes of (Bytes) 16, 32, 48, 64, 80, 96, 112 and >= 128. At the very beginning there is no array with these lists. Therefore the allocation must be done "by hand". Only after the class constructor of the class //Heap// is executed the rest of the heap can be entered as a free block. \\ 
 To be able to follow the free blocks (when searching a new block or when sweeping) the structure below is used: To be able to follow the free blocks (when searching a new block or when sweeping) the structure below is used:
 [{{ .:freeblock.png?350&direct | //Liste mit freien Blöcken//}}] [{{ .:freeblock.png?350&direct | //Liste mit freien Blöcken//}}]
Line 19: Line 19:
  
 ===== Sweep Phase ===== ===== Sweep Phase =====
-During the sweep phase the whole heap is traversed block by block. Each block, whether free, marked or no longer usedhas to include information about its size. Free blocks and blocks which contain actual objects have this information at the start of the block. With arrays this information has te be retrieved with the aid of the type descriptor.+During the sweep phase the whole heap is traversed block by block. Each block, whether free, marked or no longer used has to include information about its size. Free blocks and blocks which contain actual objects have this information at the start of the block. With arrays this information has to be retrieved with the aid of the type descriptor.
 [{{ .:sweep.png?550&direct | //Sweep//}}] [{{ .:sweep.png?550&direct | //Sweep//}}]
  
dev/rts/heap.txt · Last modified: 2020/12/14 10:32 by ursgraf