Companion objects vs nested objects и зачем вообще нужны компаньоны

Очевидный ответ: для эмуляции static методов, которые были в Java (и для interop’а используется аннотация @JvmStatic, генерирующая подобные джаве статик методы). Но почему от static отказались в Kotlin и каково концептуальное значичение companion, ведь в…

LLVM vs JVM vs GraalVM

В Kotlin есть отличная возможность — Kotlin Native. Она позволяет компилировать Kotlin код в бинарники под конкретные платформы — которые способны запускаться без виртуальной машины. Эта технология основана на LLVM — Low Level Virtual Machine….

Баги в OpenJDK 1.8

Как-то при небольшой загрузке задачами тимлид дал нам интересную задачу на развитие: прочитать основные классы java core + collections. А тому, кто найдёт ошибку в HashMap, обещал штуку рублей, что придало хороший азартный блеск нашим глазам😏

Вызов принят, и кроме искомой ошибки в HashMap, я нашел ещё несколько…

Баги JDK, микрооптимизации, Inline методов в JVM, BitSet’ы, идиосинкразия Java, etc…