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

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

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

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

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

posted on 2015-04-08 11:10  sunseine  阅读(1283)  评论(0编辑  收藏  举报

导航