Java je objektově orientovaný programovací jazyk populární díky automatické správě paměti a platformové nezávislosti. Kultura objektově orientovaného programování vybízí programátory, aby se soustředili především na objektový návrh aplikace, což je jednou z možných příčin neefektivního využití paměti. Práce popisuje některé případy, při kterých může docházet k neefektivnímu využívání paměti. Cílem práce je rozšíření nástroje, který je schopen detekovat případy plýtvání pamětí, o analýzu hluboce duplicitních objektů. Nástroj analyzoval několik reálných aplikací a odhalil velké množství případů duplicitních objektů.
Anotace v angličtině
Java is an object-oriented programming language that is popular due to its garbage collection and platform independency. Object-oriented programming, as a culture, encourages programmers to only pay attention to model. This trend can lead to memory bloat. Some cases, which can lead to memory bloat, are described. The goal of this thesis is to extend an existing tool, which can analyze memory bloat, to be able to detect deeply duplicated objects. The extended tool analyzed multiple real applications and revealed numerous cases of duplicate objects.
Java je objektově orientovaný programovací jazyk populární díky automatické správě paměti a platformové nezávislosti. Kultura objektově orientovaného programování vybízí programátory, aby se soustředili především na objektový návrh aplikace, což je jednou z možných příčin neefektivního využití paměti. Práce popisuje některé případy, při kterých může docházet k neefektivnímu využívání paměti. Cílem práce je rozšíření nástroje, který je schopen detekovat případy plýtvání pamětí, o analýzu hluboce duplicitních objektů. Nástroj analyzoval několik reálných aplikací a odhalil velké množství případů duplicitních objektů.
Anotace v angličtině
Java is an object-oriented programming language that is popular due to its garbage collection and platform independency. Object-oriented programming, as a culture, encourages programmers to only pay attention to model. This trend can lead to memory bloat. Some cases, which can lead to memory bloat, are described. The goal of this thesis is to extend an existing tool, which can analyze memory bloat, to be able to detect deeply duplicated objects. The extended tool analyzed multiple real applications and revealed numerous cases of duplicate objects.