Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Implementing a Simple JVM in Rust

Devoxx via YouTube

Overview

Explore the inner workings of the Java Virtual Machine (JVM) through a hands-on implementation using Rust. Dive into fundamental concepts such as bytecode interpretation, classfile parsing, and memory management, using an open-source implementation as a reference. Begin by building a basic interpreter capable of executing simple methods, then progressively add features to create a more complete implementation that can run simple Java classes. Follow along with live coding demonstrations in an IDE, working with a Rust-based JVM implementation designed for easy comprehension, even for developers new to language implementation. Gain insights into Rust programming language basics, JVM architecture, bytecode structure, and class file format. Learn about Java versions, bytecode interpretation, local variable handling, and the step-by-step process of building a functional JVM. Discover how concepts like non-erased generics, algebraic data types, and Rust's unique approach to memory management contribute to creating a robust JVM implementation.

Syllabus

Intro
Who am I
Java Champion
Goals
Java Version
The JVM
The bytecode
The class file
Invoke code
Model local variables
Building a first implementation
A few things about Rust
Rust project structure
Non erased generics
Algebraic data types
Handling of storage
Misunderstood assignment semantics
Rust will rather fail your compilation
Examples of perfectly safe Rust programs
If youve programmed in C
Lets meet some Rust code
TDD
Java byte codes
Generics
OptRec
Exact Method
Declaration
Looping
Vectors
Advanced
eval
icons
return
enum
colon
files
Const
Runtime Checking
Testing
FieldHaver
Go Clean
Test Cycle
Top Level
Runtime Datastore
Class Name
Function Pointer
Fixing ocelots
Bootstrap
Whats next

Taught by

Devoxx

Reviews

Start your review of Implementing a Simple JVM in Rust

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.