static方法和非static方法的区别(java)

static 方法 (静态方法)
方法在该方法所属类型第一次被使用的时候加载、在该类型所在应用程序域卸载的时候卸载、也就是说 static 方法只加载一次、除非整个Domain 被卸载了。

实例方法(非静态方法)
方法是在第一次该方法第一次调用的时候会加载、然后被缓存起来。但是中间如果有GC 的话, 就会被收集,那下次再调用该方法时,又得重新加载该方法。也就是说, 实例方法有可能加载多

总的来说,static 方法只用加载一次,但一直会占用内存。多了些资源消耗;而实例方法需要加载多次,但不会一直占用内存。少些资源消耗。一般来说, 在程序里面,一些使用频率高的方法就用static 方法、使用频率低的则用实例方法。

静态方法只能访问静态变量,没有什么线程安全之说,只有静态变量才有。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值