Jak sehrát Kotlin a Java bytecode dohromady

Abstrakt

Kotlin lze překládat do JavaScriptu, LLVM bitcode, ale zdaleka nejběžnějším cílem překladu je JVM bytecode – tedy javové soubory .class. Kotlin díky tomu nabízí výbornou interoperabilitu s Javou, přesto však od ní má některé jazykové konstrukty odlišné. Zajímalo vás někdy, jak se přeloží do bytecodu? Potřebovali jste volat v Javě metody z companion objectu? Víte, jaký je rozdíl mezi @JvmStatic a @JvmField u konstant? A jak Kotlin řeší kontrolované výjimky? Vezměme do ruky disassembler a dekompilátor a pojďme se na to podívat.

Pokud jste zatím s Kotlinem moc do styku nepřišli, třeba vás přednáška alespoň inspiruje k vlastnímu objevování tohoto velmi perspektivního jazyka.

Kamil Ševeček

Odborný lektor, konzultant. Kamil Ševeček je dlouholetý programátor, geek a příznivce Javy a Kotlinu. Pracuje jako Java vývojář a ve volném čase vede kurzy pro neziskovku Czechitas. Sbírá staré počítače ZX Spectrum a Didaktik, a pořád má v plánu pro tyto skvělé stroje naprogramovat mnoho krásných osmibitových her. Má rád filmy založené na skutečných událostech a knižní biografie o významných lidech historie.

Certifikace

Oracle Certified Professional Java SE 7 Programmer (OCPJP), Sun Certified Developer for Java Web Services (SCDJWS), Sun Certified Business Component Developer (SCBCD), SpringSource Certified Spring Enterprise Integration Specialist