Kotlin, Beyond the Basics
summary
Shows that each lambda compiles to a Java function object (Function0…Function22) unless marked inline/crossinline, which removes allocation overhead and enables non-local returns; demonstrates using Tools → Kotlin → Show Kotlin Bytecode to compare generated Java. Calls out misuses of scoping helpers like let/run/apply and when they harm readability. Explains platform types causing runtime NPEs and fixes with nullability annotations, and how to expose APIs to Java via @JvmName @JvmStatic @JvmOverloads and their effects (top-level functions, companion objects, overloaded constructors).
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:51Imperative vs Functional
- 4:06Functions Encoding
- 4:41High Order Functions
- 11:40Standard Library Functions
- 16:43Things to Consider
- 17:32In Action
- 18:43Java Interoperability
- 19:44Ability
- 20:09Platform Types
- 24:32Calling from Java
- 25:07Package Level Functions
- 27:04Static Annotation
- 28:12Static Providers
- 30:33JVM
- 32:03Other Functions
- 32:43The JVM
- 33:12Summary
- 34:55Conclusion








