社区
Java EE
帖子详情
一个class静态变量的内存在什么时候释放?!
badboy_119
2005-01-12 11:23:02
一个class静态变量的内存在什么时候释放?!
...全文
1087
16
打赏
收藏
一个class静态变量的内存在什么时候释放?!
一个class静态变量的内存在什么时候释放?!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
danceflash
2005-01-14
打赏
举报
回复
对啊,我的意思就是基本型也是存储在内存中的 ^_^
只不过基本型存在栈中,对象存在堆中 ^_^
taolei
2005-01-13
打赏
举报
回复
class里面的静态内容是在这个class被释放的时候同时释放。
那么,class是什么时候释放的呢?
在sun 的JDK中所有的class都有它的ClassLoader,当这个ClassLoader被释放时,所有被它装载的class也同时被释放。
如果是系统的ClassLoader,那么就只有等到程序退出时才能释放了。
如果是自定义的ClassLoader,就可以用程序控制这个ClassLoader和它装载的class的释放。
例如:通常Application Server(Weblogic等)就用单独的ClassLoader装载Application. 当需要动态更新Application时,先从这个ClassLoader放下释放Application的所有资源,再重新装载.
jsp的动态更新也是使用了这个技术。
稽姬
2005-01-13
打赏
举报
回复
应该在应用结束时同时释放。
具体就该问问虚拟机了。
wts
2005-01-13
打赏
举报
回复
danceflash(Wine) :
int不是基本型别吗?呵呵
Romeo1982
2005-01-13
打赏
举报
回复
说说几种类型变量的适用场合也许意义更大点~·
joyaga
2005-01-13
打赏
举报
回复
顶了
eureka0891
2005-01-13
打赏
举报
回复
taolei(实在无聊)说得对
bonniewater
2005-01-13
打赏
举报
回复
楼上的说的好
danceflash
2005-01-12
打赏
举报
回复
我印象中int型也是存在内存中的
只不过基本型存在栈中,对象存在堆中 ^_^
linubert
2005-01-12
打赏
举报
回复
在这个class unload的时候,有时这个class在整个程序周期都不会释放!
或者在静态变量设为NULL的时候,你可以在程序中 variablename = null
vgvg
2005-01-12
打赏
举报
回复
程序执行完了.
whyxx
2005-01-12
打赏
举报
回复
整个Application终止的时候,比如WebLogic停止,SWING画面关闭等.
wts
2005-01-12
打赏
举报
回复
不好意思,好像有点跑题了:(
wts
2005-01-12
打赏
举报
回复
好像根据类型的不同,也应该有所区别吧?比方说int型静态变量和Integer型静态变量。
int型存在于寄存器中,而Integer型的存在于内存中。
我不太确定,只是提个看法。
另外,我觉得,只要你的这个拥有静态变量的类的任何实例存在,则这个静态变量就不会消失。而如果你在任何地方都没有使用这个类的实例,也没有使用这个静态变量或者其引用(比方说Integer型),则GC会回收,那么静态变量也就消失了。
danceflash
2005-01-12
打赏
举报
回复
静态变量的空间只要这个Class还加载在内存中,就不会被释放
至于静态变量指向的空间,只要没有引用指向时,GC的时候就会被释放
Carlson Wang
2005-01-12
打赏
举报
回复
在JVM垃圾收集的时候会释放.
跟汤老师学Java(第12季):枚举、泛型、内部类
本课程从零开始,以通俗易懂的方式讲解Java技术,手把手教你掌握每
一个
知识点。 真正做到零基础入门学习,适合初学者的教程! 课程内容包括: 1.枚举的简介 2.枚举用法 3.泛型简介 4.泛型类 5.泛型接口 6.泛型方法 7...
(类变量)
静态变量
和实例变量的区别?
(1)语法定义上的区别
静态变量
用static修饰 实例变量没有static修饰 (2)运行区别,实例区别 ...类变量是所有对象共有,其中
一个
对象将它值改变,其他对象得到的就是改变后的结果; 而实例...
静态与实例变量的区别——(概述)
静态变量
与实例变量(方法)的区别 ...
静态变量
在JVM加载这个类的时候,就被创建了,而且在运行过程中,
静态变量
是无法被垃圾回收所
释放
的。实例变量则是在实例化对象的时候创建,也就是在执行new的时候他才进行创
Java中的
静态变量
和静态方法
所以在
一个
对象中修改
静态变量
的值,同时也就修改了其他所有对象中该
静态变量
的值。保留字static是用来声明
静态变量
的修饰符。
静态变量
的内存空间是在程序第一次使用该变量所在的类时分配的。在方法内声明的局部变量...
java
释放
静态变量
_java
静态变量
静态的作用是什么?场景:当每个对象都有
一个
相同的属性,如country="China",那么每个对象所在的堆内存中都会为其分配空间来保存这个属性值country="Chian"。既然每个对象的country属性值都是一样的,能否只用
一个
...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章