2017-05-20 21 views
0

는 다음과 같이 (이 경우 jstack에서) 스택 트레이스를 고려 오브젝트어떤 원시 소스 코드가 람다 익명 유형인지 어떻게 판단 할 수 있습니까?

"main" #1 prio=5 os_prio=0 tid=0x00007fbb18027800 nid=0x5286 in 
Object.wait() [0x00007fbb1e75d000] 
    java.lang.Thread.State: WAITING (on object monitor) 
     at java.lang.Object.wait(Native Method) 
     - waiting on <0x0000000090ce2d28> (a java.lang.Object) 
     at java.lang.Object.wait(Object.java:502) 
     at io.vavr.concurrent.FutureImpl$$Lambda$82/1994084103.run(Unknown Source) 
     at io.vavr.control.Try.run(Try.java:105) 
     at io.vavr.concurrent.FutureImpl.await(FutureImpl.java:114) 

하나는 람다이다. 그러나 클래스 FutureImpl에는 많은 lambdas가 있습니다.

어떤 람다가 람다 익명 유형의 색인에 해당하는지 어떻게 결정할 수 있습니까? 이 클래스에는 6 개의 람다가 있으며 구현중인 인터페이스는 포함되지 않습니다 (많은 기본 메소드가 있음).

답변

0

javap를 사용하여 FutureImpl $$ Lambda $ 82 클래스를 디 컴파일하고 해당 람다가 무엇인지 확인합니다.