【问题标题】:How can I determine which original source code was a lambda anonymous type? [duplicate]如何确定哪个原始源代码是 lambda 匿名类型? [复制]
【发布时间】:2017-05-20 22:08:54
【问题描述】:

考虑一个堆栈跟踪(在本例中来自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)

其中一个对象是 lambda。但是,FutureImpl 类有很多 lambda。

如何确定哪个 lambda 对应于 lambda 匿名类型的哪个索引?该类中有 6 个 lambda,不包括它正在实现的接口(它有许多默认方法)。

【问题讨论】:

    标签: java debugging lambda stack-trace anonymous-types


    【解决方案1】:

    我会使用 javap 对 FutureImpl$$Lambda$82 类进行反编译,然后查看它对应的 lambda。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2012-01-04
      • 1970-01-01
      • 2010-12-11
      • 2011-01-29
      • 1970-01-01
      • 2012-09-03
      相关资源
      最近更新 更多