Learning paths · Skills · Intermediate

Kotlin: the language under Android and the JVM

What the Kotlin compiler turns your code into, how null safety, data classes, extensions, inline functions and sealed types work underneath, and how coroutines become state machines that structured concurrency keeps in check.

0 of 13 done

The map

  • Not started
  • In progress
  • Done
  1. 01What the compiler makesTargets, nulls, classes, Java0/4
  2. 02Functions and typesExtensions, lambdas, sealed, generics0/6
  3. 03Coroutines from the insideState machines, scopes, Flow0/3
  4. 04Next: system designSame ideas, at service scale

Everything here is about Kotlin 2.x, where the K2 compiler is the default. The examples were compiled and run with Kotlin 2.4.21 (and kotlinx.coroutines for the coroutine topics) on the official Kotlin Playground. Where a feature is newer than 2.0 (guard conditions in when in 2.2, data-flow exhaustiveness in 2.3, stable context parameters in 2.4), the topic says so. Android-specific coroutine use (viewModelScope, lifecycles) lives in the Android path; this path is about the language.

Where this path leads