Java virtual machine analysis
Thesis title: | Analýza virtuálního stroje Javy |
---|---|
Author: | Nguyen, Duc Anh |
Thesis type: | Diplomová práce |
Supervisor: | Pecinovský, Rudolf |
Opponents: | Šlajchrt, Zbyněk |
Thesis language: | Česky |
Abstract: | Hlavním cílem této diplomová práce je popis principů fungování virtuální stroje Javy. Toho-to cíle bude dosaženo postupným řešením cílů rozdělených do hlavních kapitol.Cílovou skupinou této práce jsou především začínající software vývojáři, kteří pracují s programovacími jazyky, které využívají Java Virtual Machine pro běh programů. Poznatky v této práci můžou využít i DevOps a systémoví inženýři, kteří se zabývají laděním výkon-nosti nebo monitoringu JVM. Tuto práci obecně ocení všichni, kteří pracují v programovacím jazyce Java a chtějí si rozšířit znalosti o JVM.Největším přínosem pro čtenáře je rozšíření jeho obzorů o fungování JVM v oblasti automa-tické správy paměti a optimalizaci Java kódu s cílem efektivněji využívat paměť. Práce také obsahuje Java Maven projekt s předpřipravenými ukázkami kódu, kde je možné změřit výkon a zobrazit výsledky pomocí frameworku JMH. Čtenář si tak může pohodlně vyzkou-šet na svém počítači měření výkonu efektivních a neefektivních implementací popsaných v této práci.Základní část práce začíná obecným popisem virtualizace. Do jejího kontextu je pak zařazen virtuální stroj Javy, kde se popisuje jeho architektura. V další kapitole jsou rozebrány prin-cipy správců paměti a základní algoritmy automatické správy paměti. Pak je popsán princip automatické správy paměti v JVM a jeho novinky a vylepšení v oblasti správy paměti ve verzi 10. Poslední kapitoly jsou věnovány popisu optimalizace v softwaru, měření výkonu a postupy na analýzu JVM a optimalizaci Java kódu pro efektivnější využití paměti. |
Keywords: | JVM; Java; virtuální stroj; správa paměti; optimalizace; měření výkonu |
Thesis title: | Java virtual machine analysis |
---|---|
Author: | Nguyen, Duc Anh |
Thesis type: | Diploma thesis |
Supervisor: | Pecinovský, Rudolf |
Opponents: | Šlajchrt, Zbyněk |
Thesis language: | Česky |
Abstract: | The primary objective of this diploma thesis is to describe the principles of Java Virtual Machine. The primary objective is achieved by achieving smaller objectives in the chapters in this thesis.The targeted group is primarily junior software engineers who use programming languages based on the Java Virtual Machine. DevOps and system engineers who deal with perfor-mance tuning or monitoring JVM can also use the knowledge in this diploma thesis. In general, everyone who uses Java programming language and want to expand his knowledge of JVM would appreciate this work.The biggest added value for the reader is broadening his knowledge of code optimization from the perspective of automatic memory management. This work also includes a Java Maven project with prepared demos with the possibility of measuring the performance and getting benchmark results in JMH framework. The reader can easily try on his computer some performance measurement of effective and noneffective implementations described in this diploma thesis.The main part of this diploma starts with a description of virtualization. Java Virtual Ma-chine and its architecture are described within the context. In the next chapter there is a breakdown of principles of memory management and the main algorithms for automatic memory management. The next chapter focuses on principles of garbage collectors in JVM and its improvements in the version 10. Last chapters are about software optimization, performance measurement and guidance for JVM analysis and Java code optimization focusing on effective memory usage. |
Keywords: | JVM; Java; virtual machine; memory management; optimization; performance measurement |
Information about study
Study programme: | Aplikovaná informatika/Podniková informatika |
---|---|
Type of study programme: | Magisterský studijní program |
Assigned degree: | Ing. |
Institutions assigning academic degree: | Vysoká škola ekonomická v Praze |
Faculty: | Faculty of Informatics and Statistics |
Department: | Department of Information Technologies |
Information on submission and defense
Date of assignment: | 1. 10. 2017 |
---|---|
Date of submission: | 25. 6. 2018 |
Date of defense: | 19. 9. 2018 |
Identifier in the InSIS system: | https://insis.vse.cz/zp/64616/podrobnosti |