static的用法
静态变量:由static修饰的成员变量(在类中定义的变量)。
*相当于全局变量,该类的所有实例会共用同一个变量。
静态方法:由static修饰的方法。
*该方法属于类,存在方法区中,只有一份。
*常常通过"类名.方法名"来访问。
*静态方法中不能直接访问实例成员(不以static修饰的成员变量)或普通方法,因为静态方法中没有隐式的this传递。
*一般用于方法的操作仅于参数有关,与对象无关的情况。
静态类:static修饰的内部类。
*使用: 外部类.内部类 test = new 外部类.内部类();
静态块:由static修饰
*只会被执行一次。
*常用于加载/初始化静态资源(图片,视频...)
JVM中的static变量
在JVM中,被static修饰的成员变量,会被作为GC Roots,这类变量基本不会被回收,所以很容易造成内存泄漏。