Práce popisuje různé problémy, kvůli kterým může dojít k neefektivnímu využití paměti v Javě. Zabývá se otázkou, zda vůbec v reálném software takové problémy existují a jakýmy způsoby je lze detekovat. Definuje také několik druhů těchto problémů, jako třeba duplicitních objektů nebo neefektivního použití kolekcí. Dále jsou popsány různé způsoby, jakými lze paměť Javy analyzovat, přičemž jako nejvhodnější způsob je zvoleno offline zpracování Java memory dumpu. Pro tento účel je vytvořena aplikace, která paměť dokáže prohledat a definovaná neefektivní využití označit. Tato aplikace je následně otestována na uměle vytvořené aplikaci a reálném software - instanci frameworku Spring Boot.
Anotace v angličtině
The thesis describes different problems leading to possible ineffectiveness in the usage of Java memory. It also investigates whether such problems actually exist in commonly used software and if and how could the problems be detected. It defines several types of these problems, e.g. duplicate objects and ineffective usage of the Java collections. After that it describes possible ways to analyze Java memory and based on the analysis, the offline Java memory dump processing approach is chosen. As a result, an application is created for such a purpose. It is capable of searching for and marking the defined memory issues. The application is later tested on a laboratory program and also commonly used software - an instance of the Spring Boot framework.
Práce popisuje různé problémy, kvůli kterým může dojít k neefektivnímu využití paměti v Javě. Zabývá se otázkou, zda vůbec v reálném software takové problémy existují a jakýmy způsoby je lze detekovat. Definuje také několik druhů těchto problémů, jako třeba duplicitních objektů nebo neefektivního použití kolekcí. Dále jsou popsány různé způsoby, jakými lze paměť Javy analyzovat, přičemž jako nejvhodnější způsob je zvoleno offline zpracování Java memory dumpu. Pro tento účel je vytvořena aplikace, která paměť dokáže prohledat a definovaná neefektivní využití označit. Tato aplikace je následně otestována na uměle vytvořené aplikaci a reálném software - instanci frameworku Spring Boot.
Anotace v angličtině
The thesis describes different problems leading to possible ineffectiveness in the usage of Java memory. It also investigates whether such problems actually exist in commonly used software and if and how could the problems be detected. It defines several types of these problems, e.g. duplicate objects and ineffective usage of the Java collections. After that it describes possible ways to analyze Java memory and based on the analysis, the offline Java memory dump processing approach is chosen. As a result, an application is created for such a purpose. It is capable of searching for and marking the defined memory issues. The application is later tested on a laboratory program and also commonly used software - an instance of the Spring Boot framework.