Why uvm_root is singleton in UVM? what is the difference between static and singleton class?

In reply to Sagar Shah:
There are no static classes in SystemVerilog. All class objects are constructed dynamically at runtime. You can have static class variables. The singleton pattern ensures that only one class object of the type uvm_root ever gets constructed.