模块 jdk.jfr

类 RecordedObject

java.lang.Object
jdk.jfr.consumer.RecordedObject
已知子类:
RecordedClass , RecordedClassLoader , RecordedEvent , RecordedFrame , RecordedMethod , RecordedStackTrace , RecordedThread , RecordedThreadGroup

由一个或多个字段组成的复杂数据类型。

此类提供通过传递点 "." 分隔的 String 对象(例如 "aaa.bbb" )来选择和查询嵌套对象的方法。一个方法从左到右评估一个嵌套对象,如果一个部分是 null ,它抛出 NullPointerException

自从:
9
  • 方法详情

    • hasField

      public boolean hasField(String  name)
      如果存在具有给定名称的字段,则返回 true,否则返回 false

      可以使用 "."(例如 "thread.group.parent.name ")对嵌套字段进行索引。

      参数:
      name - 要获取的字段名称,而不是 null
      返回:
      true 如果字段存在,false 否则
      参见:
    • getValue

      public final <T> T getValue(String  name)
      返回具有给定名称的字段的值。

      返回类型可以是原始类型或 RecordedObject 的子类。

      可以使用 "."(例如 "thread.group.parent.name ")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      示例

      if (event.hasField("intValue")) {
        int intValue = event.getValue("intValue");
        System.out.println("Int value: " + intValue);
      }
      
      if (event.hasField("objectClass")) {
        RecordedClass clazz = event.getValue("objectClass");
        System.out.println("Class name: " + clazz.getName());
      }
      
      if (event.hasField("sampledThread")) {
        RecordedThread sampledThread = event.getValue("sampledThread");
        System.out.println("Sampled thread: " + sampledThread.getJavaName());
      }
       
      类型参数:
      T - 返回类型
      参数:
      name - 要获取的字段,而不是 null
      返回:
      值,可以是null
      抛出:
      IllegalArgumentException - 如果不存在名为 name 的字段
      参见:
    • getFields

      public List <ValueDescriptor > getFields()
      返回此对象字段的不可变列表。
      返回:
      字段,而不是null
    • getBoolean

      public final boolean getBoolean(String  name)
      返回 boolean 类型字段的值。

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段名称,而不是 null
      返回:
      字段的值,truefalse
      抛出:
      IllegalArgumentException - 如果该字段不存在,或者该字段不是 boolean 类型
      参见:
    • getByte

      public final byte getByte(String  name)
      返回 byte 类型字段的值。

      可以使用 "."(例如 "foo.bar")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      字段的值
      抛出:
      IllegalArgumentException - 如果该字段不存在,或者该字段不是 byte 类型
      参见:
    • getChar

      public final char getChar(String  name)
      返回 char 类型字段的值。

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      该字段的值为char
      抛出:
      IllegalArgumentException - 如果该字段不存在,或者该字段不是 char 类型
      参见:
    • getShort

      public final short getShort(String  name)
      返回类型为 short 的字段的值或可通过扩大转换转换为类型 short 的另一种原始类型的值。

      此方法可用于以下类型:shortbyte

      如果该字段具有 @Unsigned 注释并且是比 short 更窄的类型,则该值将作为无符号返回。

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      转换为short类型的字段的值
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值无法通过扩大转换转换为类型 short
      参见:
    • getInt

      public final int getInt(String  name)
      返回 int 类型的字段的值或可通过扩展转换转换为 int 类型的另一种原始类型的值。

      此方法可用于以下类型的字段:intshortcharbyte

      如果该字段具有 @Unsigned 注释并且是比 int 更窄的类型,则该值将作为无符号返回。

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      转换为int类型的字段的值
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值不能通过扩大转换转换为类型 int
      参见:
    • getFloat

      public final float getFloat(String  name)
      返回类型为 float 的字段的值或可通过扩大转换转换为类型 float 的另一种原始类型的值。

      此方法可用于以下类型的字段:floatlongintshortcharbyte

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      转换为float类型的字段的值
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值无法通过扩大转换转换为类型 float
      参见:
    • getLong

      public final long getLong(String  name)
      返回类型为 long 或可通过扩大转换转换为类型 long 的另一种基本类型的字段的值。

      此方法可用于以下类型的字段:longintshortcharbyte

      如果该字段具有 @Unsigned 注释并且类型比 long 窄,则该值将作为无符号返回。

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      转换为long类型的字段的值
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值无法通过扩大转换转换为类型 long
      参见:
    • getDouble

      public final double getDouble(String  name)
      返回 double 类型的字段的值或可通过扩展转换转换为 double 类型的另一种原始类型的值。

      此方法可用于以下类型的字段:doublefloatlongintshortcharbyte

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      转换为double类型的字段的值
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值无法通过扩大转换转换为类型 double
      参见:
    • getString

      public final String  getString(String  name)
      返回 String 类型字段的值。

      可以使用 "."(例如 "foo.bar")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      该字段的值为 String ,可以是 null
      抛出:
      IllegalArgumentException - 如果该字段不存在,或者该字段不是 String 类型
      参见:
    • getDuration

      public final Duration  getDuration(String  name)
      返回时间跨度字段的值。

      此方法可用于用 @Timespan 注释的字段以及以下类型:longintshortcharbyte

      如果提交的事件值为 Long.MAX_VALUE,则无论 @Timespan 设置的单位如何,此方法都返回 ChronoUnit.FOREVER

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      表示为 Duration 的时间跨度,而不是 null
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值无法转换为 Duration 对象
      参见:
    • getInstant

      public final Instant  getInstant(String  name)
      返回时间戳字段的值。

      此方法可用于用 @Timestamp 注释的字段,以及以下类型:longintshortcharbyte

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      表示为 Instant 而非 null 的时间戳
      抛出:
      IllegalArgumentException - 如果字段不存在,或者字段值无法转换为 Instant 对象
      参见:
    • getClass

      public final RecordedClass  getClass(String  name)
      返回 Class 类型字段的值。

      可以使用 "."(例如 "aaa.bbb")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      该字段的值作为 RecordedClass ,可以是 null
      抛出:
      IllegalArgumentException - 如果该字段不存在,或者该字段不是 Class 类型
      参见:
    • getThread

      public final RecordedThread  getThread(String  name)
      返回 Thread 类型字段的值。

      可以使用 "."(例如 "foo.bar")索引到嵌套对象。

      在未来的 JDK 版本中,字段可能会更改或删除。此方法的调用者的最佳做法是在尝试访问之前验证该字段。

      参数:
      name - 要获取的字段,而不是 null
      返回:
      字段的值作为RecordedThread对象,可以是null
      抛出:
      IllegalArgumentException - 如果该字段不存在,或者该字段不是 Thread 类型
      参见:
    • toString

      public final String  toString()
      返回此对象的文本表示。
      重写:
      toString 在类 Object
      返回:
      该对象的文字描述