arthas是一种Java诊断工具,OGNL是对象图导航语言,这个问题一般是因为在arthas诊断过程中,使用OGNL表达式获取map的值时返回了null。解决方法是重新构造表达式并使用正确的Key值:
ognl @java.util.HashMap@values(yourMap)
Jdk9+ (module java.base)
java.lang.invoke.MethodHandle handle = MethodHandles.lookup().findVirtual(yourMap.getClass(), "get", MethodType.methodType(Object.class, Object.class)); Object value = handle.invoke(yourMap, key);
Jdk8-: