Java
对
象的生命周期与作用域
① Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除。
② 再看清除对象的过程。我们知道,Java语言的一个优势,就是Java程序员勿需再像C/C++程序员那样,显式地释放对象,而由称为垃圾收集器(Garbage Collector)的自动内存管理系统,定时或在内存凸现出不足时,自动回收垃圾对象所占的内存。凡事有利总也有弊,这虽然为Java程序设计者提供了极大的方便,但同时它也带来了较大的性能开销。这种开销包括两方面,首先是对象管理开销,GC为了能够正确释放对象,它必须监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等。其次,在GC开始回收“垃圾”对象时,系统会暂停应用程序的执行,而独自占用CPU
③ 作用域与生命周期的区别:作用域是对象起作用的地方,生命周期对象生存的时段、即生命周期定义的是时间,作用域定义的是空间。
④
Java
对
象的作用域:作用域public,private,protected,以及不写时的区别。生命周期就JAVA来说,对象不被引用了也就OVER了。
⑤
变
量的生命周期和作用域:Java允许在任何块中声明变量,(块:由‘{‘ 开始由‘}’ 结束) 。一个”块”定义一个作用域.作用域决定了哪些变量对程序的其他部分是可视的,同时还确定了这些对象的生命周期.。进入到变量的作用域创建变量,离开变量的作用域则清除变量。也就是说变量离开了它的作用域则不再保存它的值。因此变量的生命周期受其作用域限制
⑥
JavaBean
作用域:在Web应用中,JavaBean存储许多不同的属性集合中。每一个不同的属性集合都有不同的生命周期规则。该规则定义了生命周期和可见性我们称之为作用域(Scope)。必须记住的是JSP和Servlet在同一个WEB应用中共享同一组Bean。例如一个Bean在Servlet中存在request的属性中:
MyCart mycart = new MyCart(...);
request.setAttribute("cart", mycart);
Mycart在该Servlet转向的JSP页面中马上可见。
参考