程序(Java)中变量的生命周期是多少?
你能告诉我一个变量在程序中存在多久(在 Java 中)。即方法内部声明的变量、参数中使用的变量、静态变量、用于从方法返回的变量等。
谢谢。
Can you tell me how long a variable lives in a program (in Java). i.e. variables declared inside methods, variables used in parameters, STATIC variables, variables used to return from a method, etc.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只要 Java 中的对象可以通过 传递闭包 进行引用,Java 中的对象就可以保证存在。 a href="http://en.wikipedia.org/wiki/Root_set#Tracing_garbage_collectors" rel="nofollow noreferrer">根集。这是应用程序活动对象的保守近似值。
编辑:这个问题是关于对象生命周期,还是变量范围?我们有一些混合术语。
1 活动对象是在应用程序终止之前将被再次引用的对象。
Objects in Java are guaranteed to live as long as they are referenceable through a transitive closure of the root set. This is a conservative approximation of the application's live objects¹.
Edit: Is this question concerning object lifetime, or variable scope? We have some mixed terminology going on.
¹ A live object is an object that will be referenced again before the application terminates.
生活垃圾邮件层次结构
类变量>实例变量>方法变量>局部变量
类变量的垃圾寿命最长,而局部变量的寿命最短,事实上,局部变量只能在我们定义它们的块内访问。
Life Spam hierarchy
Class Variable > Instance Variable > Method variable > Local Variable
Class variable has the longest life spam and local variable has least, in-fact the local variable are only accessible within the block we define them in.