Weak reference의 이해 Weak reference (약한 참조)대한 글을 시작해 보려고 합니다.먼저 자바(JVM)의 메모리를 구조를 이해해야 weak reference, soft reference, phantom reference를 보다 잘 이해 할 수 있습니다.JVM에서 자바의 메모리가 어떤 구조를 갖는지는 다음번에 잘 정리해서 올리도록 하겠습니다. 예전에 제가 찾았던 weak reference에 대한 잘 정리된 글을 단순?? 번역해서 올립니다. Strong referencesFirst I need to start with a refresher on strong references. A strong reference is an ordinary Java reference, the kind you use every day. Fo.. 개발이야기/Java 7년 전
람다의 내부동작 #1 람다의 내부자바의 lambda는 단순히 익명클래스로 치환되지 않습니다.bytecode를 확인하면 invokedynamic이란 opcode로 표현됩니다.이번 포스팅에서는 람다의 내부동작은 어떤지, 왜 익명클래스로 치환되지 않는지를 알아봅니다. 람다의 this 람다의 this와 익명클래스의 this는 어떻게 다를까요? 위 예제에서 같은 동작을 하는 Runnable interface를 하나는 익명클래스, 나머지 하나는 람다로 표현했습니다.마지막 check()함수는 this로 넘겨바든 객체가 Runnable인지를 확인하여 true/false를 반환합니다. 이 코드를 수행하고 나면 익명클래스는 true 람다는 false를 반환합니다.즉, 람다는 Runnable을 this로 갖는게 아니라 LambdaThis를 th.. 개발이야기/Java 8년 전