java静态方法(变量)、非静态方法(变量)区别

  java静态方法、静态变量在调用时生成唯一标识,即在内存中给定一个静态位子,这样在调用时可以直接找到,而且会节省内存。但如果声明的静态方法、静态变量过多,会占用过多内存,有可能导致内存溢出。

  非静态方法、非静态变量有gc管理,每new一个对象时,在堆上分配一块内存,不用时由gc回收。

  即,静态方法、静态变量预先分配,非静态方法、非静态变量动态分配。

  所有的class、static变量位于方法区,方法区既可以在堆上,又可以在栈上。

上一篇:jQuery简单导航示例


下一篇:JAVA Main方法中调用非静态方法