当前位置: 首页 > 知识库问答 >
问题:

如何在jvmti中从jobject获取类名

唐昊焜
2023-03-14
(*jvmti)->GetClassSignature(jvmti, object_klass, &signature, &generic);
public static void main(String arg[]) throws Exception {
    Set<String> names = new HashSet<>();
    names.add("foo");
    names.add("bar");
    System.out.println(names);
}
Ljava/lang/String;     Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/String;>;Ljava/lang/CharSequence;
Ljava/lang/reflect/Method; (null)

共有1个答案

卫才
2023-03-14

我想您正在尝试VMObjectAlloc JVMTI通知。对于用Java代码进行的分配,不发送此通知。JVMTI规范中描述了这种行为:

当...其他侵入机制无法检测到分配时发送。通常,应该通过检测分配方法的字节码来检测对象分配。

...

    null
 类似资料:
  • 本文向大家介绍Java获取JVMTI环境,包括了Java获取JVMTI环境的使用技巧和注意事项,需要的朋友参考一下 示例 内部Agent_OnLoad方法:            

  • 问题内容: 到目前为止,这就是我所拥有的:我传递一个具有2个字段的对象:String和Integer作为参数,并且我想发送信息以在C部分中对其进行处理,这在当时并不重要…我抱怨在jstring声明 我想念什么? 问题答案: ……然后一切正常。

  • 问题内容: 我正在使用NewtonSoft JObject解析JSON字符串。如何以编程方式从动态对象获取值?我想简化代码,以免对每个对象重复说明。 有什么办法可以将“ if”语句中的代码块提取到单独的方法中,例如: 甚至有可能因为我们不能对动态对象使用反射。还是我甚至正确使用了JObject? 谢谢。 问题答案: 假设您正在使用Newtonsoft.Json.Linq.JObject,则不需要使

  • StackPane容器=fxmlLoader.load(getClass().getResource(“fxmlDocument.fxml”)等。 我如何在控制器传递中获得我的根节点或stackpane?

  • 问题内容: 我知道该类的名称,说 “ MyClass”, 并且想检索该对象。 MyClass.class 供将来参考。有没有办法做到这一点? 我已经浏览了整个网络,但发现与之相关的大多数内容都与有关,我认为这不适合我的情况。我不想初始化一个类,而只是获取一个类对象以备将来使用。 编辑:关于此的第一个答案: 我已经检查了该方法,但我认为这也应该初始化该类。现在,我可以使用完整参数来调用它,并传递给第