静态方法和静态属性是否常驻内存
来源:互联网 发布:linux创建一个用户组 编辑:程序博客网 时间:2024/06/04 18:00
1、class 没有 load 进 JVM 前,所有的 fields ,methods 均不在内存中
2、class 被 load 进 JVM 后
a. 对于方法
不论是 static 或 非 static 的,都一样的,总是跟 class 本身在一起的(即存放在内存中),永远不会被回收,除非 JVM 退出。他们的区别是,静态的方法不需要实例即可使用,而非静态的方法需要实例调用。
那么,除了安全的考虑外,以于使用者来说,调用 static 方法更方便,但并不会对内存造成额外的开销。
b. 对于属性
静态属性是跟 class 相关的,所以总是当 class 被 load 进 JVM 时即存在于内存中,并不会被垃圾回收(所以,相比于实例属性,对于内存来说是有多余的开销的)。
静态属性被回收的唯一情况是类本身被回收,这种情况的发生只有当某个应用单独使用了一种复杂的类装载器的时候才可能出现。
实例属性是跟实例相关的,故只有类实例化后,才会放入内存,当实例被回收后,实例属性自然也不存在了。
- 静态方法和静态属性是否常驻内存
- 静态属性和静态方法
- 静态字段、静态属性和静态方法
- php静态属性和静态方法
- php静态属性和静态方法
- php静态属性和静态方法
- php静态属性和静态方法总结
- php静态属性和静态方法
- OGNL调用静态属性和静态方法
- PHP static 静态属性和静态方法
- 【c++】静态属性和静态方法
- 静态属性静态方法
- Java static静态属性和静态方法内存分析和注意事项静态方法不能调用非静态属性和非静态方法,普通方法可以调用静态属性和方法
- 用Javascript实现静态对象、静态方法和静态属性
- 用JAVASCRIPT实现静态对象、静态方法和静态属性
- 用Javascript实现静态对象、静态方法和静态属性
- java中静态属性,静态方法和静态初始化器
- 用JAVASCRIPT实现静态对象、静态方法和静态属性
- 有关zxing 扫描源码 程序用于商业会不会收费
- Java程序员的发展前景
- iphone ios 微信在xcode4.5 ios 6中编译问题
- STK解析---菜单点击处理流程
- js操作frameset
- 静态方法和静态属性是否常驻内存
- C# 发送模板邮件并嵌入N张图片
- 算法-在1001个整数中找出一个重复出现的数字
- ][互动大奖] Webby Awards 2012 第16届威比奖
- easyui datagrid 动态生成列
- 在ashx文件中输出html中的文本框和按钮,并且当单击按钮时,输出文本框中的文字到网页上,同时文本框中的内容保持不变。
- 感悟:sizeof和strlen的区别
- Android开源代码解读のOnScrollListener实现ListActivity滚屏首字母提示
- Java线程(九):Semaphore-信号灯机制