想了解一下,在Java中什么样的对象才能作为gc root,gc roots有哪些?

Java中什么样的对象才能作为gc root,gc roots有哪些


慕后森
浏览 1693回答 3
3回答

MM们

›在VisualBasic的程序设计中,面向对象是非常重要的编程概念。设计VisualBasic应用程序的过程,实际上是处理对象的过程。在编程过程中,可以使用由VisualBasic提供的对象,如窗体、控件和数据访问对象,也可以在应用程序中控制其它应用程序对象,甚至可以创建自己的对象,并且为它们定义附加的属性或方法。›对象是可以作为单元处理的代码和数据的组合。对象可以是应用程序的片段,如控件或窗体,也可以是整个应用程序。›VisualBasic中的每个对象都是由一个类来定义的。类相当于模子,它决定了每个铸件的特征,例如大小和形状。利用同一个模子,可以铸造出许多铸件。而对象就是铸件。›虽然在实际编程的过程中,经常忽略类和对象的区别,但还是应该注意以下的两个概念:工具箱上的控件代表的是类,控件是要等到它们在窗体上绘制出来之后才存在的。在建立一个控件的时候,实际上是建立的控件类的一个实例,这个实例才是在应用程序中要控制的对象。在设计时,处理的窗体实际上是一个类。在运行时,VisualBasic才产生窗体的对象。›对象具有自己的属性、方法和事件。属性窗口中列出了当前应用程序中的对象的类和属性。›对象的属性是对象自己所封装的一些数据,用于定义对象自身的外观和相应的一些性质。对象的方法实际上是对象已经封装好的一段程序,它能够完成一定的功能,例如完成对对象自身的一些修改和调整等。对象的事件实际上也是一种数据类型,它通过接受系统传递一个应用程序的消息,从而根据用户的操作或者应用程序的运行做出相应的反应。›处理对象的过程,就是对对象的属性赋值,使用对象的方法和利用对象的事件,控制对象的外观和行为和对用户的操作做出反应的过程。›对象提供了用户不必自己去编写的程序代码,例如:用户可以创建自己的对话框,但实际上并不需要这样做,而是利用VisualBasic提供的常用对话框控件。

德玛西亚99

关于对象到底是死是活,java采用的是可达性分析算法,如果一个对象到GC Roots对象(关于哪些对象可以作为GC Roots对象不再详细说明)不可达,就会作为GC回收的对象,如果到GC Roots可达,那么就还没死,不会回收,但是即使到GC Roots对象不可达,对象也还有自我救赎的机会,也并非死亡,如果重写了finlize方法,并且重新指向该对象,该对象还是存活,不会死亡,如果这个自我救赎的机会也错失,那么一般都会被回收掉
打开App,查看更多内容
随时随地看视频慕课网APP