使用Nashorn时大量卸载的LambdaForm类

问题描述 投票:0回答:1

我正在构建一个调用自定义Nashorn脚本的框架,这些脚本依次注册Predicates,Comparators等。

IE浏览器。

function init (context)
{
  context.registerFilter("name", function(item) {
    ... Do some filter of item
  });
}

然后在Java端我使用已注册的过滤器。很长一段时间,当我为很多项目做这件事时,我看到大量的java.lang.invoke.LambdaForm $ DMH / BMH类型的卸载类这是正常的,我应该担心这个生产吗?

enter image description here

我尝试过具有相同行为的不同JVM(1.8 u152,u161,u162)。

java nashorn
1个回答
2
投票

Nashorn为JS的每个方法调用,属性集/ get生成invokedynamic指令。 JDK生成LambdaForms来处理那些调用的动态指令。您提到卸载了这些类。除非你看到严重的性能问题,否则你无需担心。

© www.soinside.com 2019 - 2024. All rights reserved.