java类加载,简单认识

java类加载,简单认识

在第一次创建一个类的对象或者第一次调用一个类的静态属性和方法的时候,会发生类加载

类加载期间,如果发现有静态属性,就给对应的静态属性分配内存空间,并赋值

这个过程完成之后,今后在调用该类的静态属性,虚拟机会直接寻找改属性先前已经分配的内存空间地址,然后调用其值。同样,修改这个类的静态属性也一样

说白了,静态属性将永远占用某一块固定的内存空间,直到程序终止

    public class TestDemo{
        private static Map<String,Object> map = null;
    }

    /*当TestDemo2.fun1()被调用时,TestDemo类就被加载,
    *TestDemo.map被分配内存后一直存在内存当中,直到程序终止。
     */
    public class TestDemo2{
        public void fun1(){
            TestDemo.map = new HashMap<String,Object>();
            map.put("A",100);
        }
    }

  

原文地址:https://www.cnblogs.com/chenweichu/p/7785096.html