This bachelor thesis is dedicated to the review of principles of the Java Virtual Machine operation. The introduction contains brief historical overview of the development, definition of the goals of the thesis and specification of the readers' group that the thesis is intended for. The main part of the thesis is the theoretical explanation, defining the essence of the Java Virtual Machine architecture, structure of the class and brief description of the most recent released instruction invokedynamic(), including a practical case of utilization in lambda-expressions in Java programming language. The paper includes an overview of several available tools for working with the bytecode and decompilers.Tato bakalářská práce se zabývá popisem pri...