💬
[Kotlin] by lazy の仕組み
Kotlin by lazy の仕組み
つまり
- JVM 上は
SynchronizedLazyImpl
で表現される(今回の実験では)。github link - 上記クラスは、よくある memoizatin の実装になっている。
実験コード
fun main(){
val l = lazy {
"hello"
}
println(l::class)
val lazyObj by l
println(lazyObj)
}
$ kotlinc ./Main.kt -include-runtime -d ./Kotlin.jar; java -jar Kotlin.jar
class kotlin.SynchronizedLazyImpl
hello
Discussion