On 28/03/2018 12:07 PM, Martin Buchholz wrote:
java -Xlog:class+init=trace -version |& grep -Ew 'annotation|lang.Thread|Stable' [0.019s][info][class,init] 10 Initializing 'java/lang/Thread' (0x00000007c0006400)

Thanks.

Intuitively, class+init should be a subset of class+load, and the experiment above supports that.

The initialization order can be quite different to the load order.

David

On Tue, Mar 27, 2018 at 6:59 PM, David Holmes <david.hol...@oracle.com <mailto:david.hol...@oracle.com>> wrote:

    On 28/03/2018 11:50 AM, Martin Buchholz wrote:



        On Tue, Mar 27, 2018 at 6:24 PM, Martin Buchholz
        <marti...@google.com <mailto:marti...@google.com>
        <mailto:marti...@google.com <mailto:marti...@google.com>>> wrote:

               At least the VM doesn't have to run any risky java code


        ??  Why is Martin so sure ??
        Let's check:

        java -Xlog:class+load=trace -version |& grep -Ew
        'annotation|lang.Thread'
        [0.010s][info ][class,load] java.lang.Thread source: jrt:/java.base
        [0.010s][info ][class,load]
        java.lang.Thread$UncaughtExceptionHandler source: jrt:/java.base
        [0.012s][info ][class,load] java.lang.annotation.Annotation
        source: jrt:/java.base

        So Stable does __not__ have to be class-loaded when Thread is
        class-loaded.


    Can you check with class+initialization please.

    Thanks,
    David


Reply via email to