Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6823296

(reflect) getDeclaredMethod, getMethod, getDeclaredField, getField cause many classes to be loaded

    Details

    • Type: Enhancement
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: 7
    • Fix Version/s: tbd_major
    • Component/s: core-libs
    • Labels:
      None

      Description

      The current implementation of getting a single method (i.e. Class.getDeclaredMethod and getMethod) has the same class loading effect as Class.getDeclaredMethods and Class.getMethods to obtain all methods. It will resolve all types declared in the method signatures.

      Similiarly for Class.getDeclaredField and getField, getting a single field will cause loading of the class of all types for all fields like Class.getDeclaredFields and getFields.

      This causes additional classes that are not used to be loaded. e.g.
      java.awt.PopupMenu and other classes loaded due to java.awt.Component.class.getDeclaredMethod() call.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mchung Mandy Chung
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Imported:
                  Indexed: