▁at ▁least ▁once ▁during ▁the ▁entire ▁run . ▁ ▁Lar ger ▁programs ▁have ▁larger ▁memory ▁foot print s . ▁An ▁application ' s ▁memory ▁foot print ▁is ▁roughly ▁proportion ate ▁to ▁the ▁number ▁and ▁sizes ▁of ▁shared ▁libraries ▁or ▁classes ▁it ▁loads , ▁whereas ▁static ▁libraries , ▁executable ▁programs ▁and ▁static ▁data ▁areas ▁contribute ▁to ▁a ▁fixed ▁( constant ) ▁portion . ▁Program s ▁themselves ▁often ▁do ▁not ▁contribute ▁the ▁largest ▁port ions ▁to ▁their ▁own ▁memory ▁foot print s ; ▁rather , ▁structures ▁introduced ▁by ▁the ▁run - time ▁environment ▁take ▁up ▁most ▁of ▁the ▁memory . ▁For ▁example , ▁a ▁C ++ ▁compiler ▁inser ts ▁v tables , ▁type ▁info ▁objects ▁and ▁many ▁temporary ▁and ▁anonymous ▁objects ▁that ▁are ▁active ▁during ▁a ▁program ' s ▁execution . ▁ ▁In ▁a ▁Java ▁program , ▁the ▁memory ▁foot print ▁is ▁pre domin antly ▁made ▁up ▁of ▁the ▁runtime ▁environment ▁in ▁the ▁form ▁of ▁Java ▁Virtual ▁Machine ▁( J VM ) ▁itself ▁that ▁is ▁loaded ▁indirect ly ▁when ▁a ▁Java ▁application ▁launch es . ▁In ▁addition , ▁on ▁most ▁operating ▁systems , ▁disk ▁files ▁opened ▁by ▁an ▁application ▁too ▁are ▁read ▁into ▁the ▁application ' s ▁address ▁space , ▁thereby , ▁contrib uting ▁to ▁its ▁foot print . ▁ ▁Us age ▁tr end ▁ ▁During ▁the ▁ 1 9 9 0 s , ▁computer ▁memory ▁became ▁che aper ▁and ▁programs ▁with ▁larger ▁memory ▁foot print s ▁became ▁common place . ▁This ▁tr end ▁has ▁been ▁mostly ▁due ▁to ▁the ▁w ides p read ▁use