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

Files for download

    Last update: