top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

When does static inner class get loaded into the JVM memory?

+2 votes

I was playing around some static inner class.

    package com.tutorial; 
    public class MyUpperClass {
        private MyUpperClass () {

        private static class MyStaticInnerClass{
                    private static final MyUpperClass muc = new MyUpperClass ();
        public static MyUpperClass getInstance() {
            return MyStaticInnerClass.muc;

Now, My question is, when does MystaticInnerClass get loaded into the JVM memory?
At the time of, when MyUpperClass get loaded or getInstance() get called?

posted Jul 26, 2015 by Prakash Singh

Looking for an answer?  Promote on:
Facebook Share Button Twitter Share Button LinkedIn Share Button
When the class gets loaded is just an implementation detail; you want to know when the class is initialized. It will get initialized only when it is first needed, and that is when you call getInstance(). I hope it will clarify the doubt :)

Similar Questions
+2 votes

If we extends the one class then which class 1st loaded into memory Base class or Derived class?

+1 vote

As JVM uses the primitive or time slicing scheduling techniques for thread scheduling. Is it possible to know our exiting JVM using which technique for thread scheduling?