PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS
CÓDIGO DE MATERIA 10
Titular: Dario Guillermo Cardacci
MANUAL DE PREGUNTAS
UNIDAD III - 2
FACULTAD DE TECNOLOGÍA INFORMÁTICA
UNIVERSIDAD ABIERTA INTERAMERICANA
PREGUNTAS
UNIDAD III
1. ¿A qué se denomina tiempo de vida de un objeto?
2. ¿Para administrar las instancias de .NET se utiliza un contador de referencias?
3. ¿Qué objeto es el encargado de liberar el espacio ocupado por objetos que ya no se
utilizan?
4. ¿Dónde se encuentran las instancias de los objetos administrados por el GC?
5. ¿Cuáles son los dos métodos más notorios que deben implementar las clases para trabajar
correctamente con la recolección de elementos no utilizados y matar las instancias
administradas y no administradas?
6. ¿De dónde heredan las clases el método Finalize?
7. ¿Cuál es la firma que implementa el método “Finalize”?
8. ¿Qué método se utiliza para que el GC recolecte los elementos no utilizados?
9. ¿Qué método se utiliza para suspender el subproceso actual hasta que el subproceso que
se está procesando en la cola de finalizadores vacíe dicha cola?
10. ¿Cuándo se ejecuta el método collect del GC que método se ejecuta en los objetos
afectados?
11. ¿Qué método debería exponer una clase bien diseñada teniendo en consideración que no
posee destructor?
12. ¿Cómo obtengo el método “Dispose”?
13. ¿Qué se programa en el método “Dispose”?
14. ¿Se pueden combinar el uso de “Dispose” y “Finalize”?
15. ¿A qué se denomina “Resurrección de Objetos”?
16. ¿A qué se denomina “Generación” en el contexto de la recolección de elementos no
utilizados?
17. ¿Qué valores puede adoptar la “Generación” de un objeto?
18. ¿Cómo se puede obtener el número de veces que se ha producido la recolección de
elementos no utilizados para la generación de objetos especificada?
19. ¿Cómo se obtiene el número de generación actual de un objeto?
20. ¿Cómo se puede recuperar el número de bytes que se considera que están asignados en la
actualidad?
21. ¿Qué utiliza para convertir un objeto en “no” válido para la recolección de elementos no
utilizados desde el principio de la rutina actual hasta el momento en que se llamó a este
método?
22. ¿Cómo se solicita que el sistema no llame al finalizador del objeto especificado?
23. ¿Cómo se solicita que el sistema llame al finalizador del objeto especificado, para el que
previamente se ha llamado aSuppressFinalize?
24. ¿Cómo se obtiene el número máximo de generaciones que el sistema admite en la
actualidad?
RESPUESTAS
UNIDAD III
1.
Se denomina tiempo de vida de un objeto al tiempo que transcurre desde que es creado
hasta que el mismo es eliminado (destrucción de la instancia).
2.
Falso. Nos se utiliza un contador de referencias. Esto se utilizaba en los objetos COM.
3.
El Garbage Collection.
4.
Se encuentran en un área de memoria denominado “managed heap”.
5.
Los dos métodos son:
 Finalize
 Dispose
6.
Lo heredan de System.Object.
7.
La firma que implementa el método “Finalize” es: Protected Overrides Sub Finalize()
8.
Por medio del método Collect.
9.
Se utiliza el método WaitForPendingFinalizers.
10. Se ejecuta el método “Finalize”.
11. Debería exponer el método “Dispose”.
12. El método “Dispose” lo obtengo implementando la interfaz IDisposable.
13. En el método “Dispose” se programa la liberación manual de recursos no administrados
tan pronto como no se necesiten (p.e. archivos, accesos a base de datos, etc).
14. Sí. El uso de “Dispose” y “Finalize” se pueden combina. De hecho es aconsejable
combinarlos de manera adecuada para lograr un manejo optimizado en la liberación de
los recursos.
15. Se denomina “Resurrección de Objetos” a una técnica de programación avanzada que
resulta especialmente útil en casos muy particulares, relacionados en general con
situaciones donde se observan agrupaciones de objetos cuya creación y destrucción
implica la utilización de una cantidad de tiempo considerable.
16. La generación es un contador que determina la “edad” de un objeto. Esta edad queda
determinada por la cantidad de veces que el objeto sobrevive a la recolección de objetos
no utilizados.
17. Los valores que un objeto puede adoptar referidos a su generación oscila entre 0 y 2.
18. Se puede obtener con el método “CollectionCount” del objeto GC.
19. Se puede obtener con el método “GetGeneration” del objeto GC.
20. Se puede obtener con el método “GetTotalMemory” del objeto GC.
21. Utilizo el método “KeepAlive” del objeto GC.
22. Se solicita con el método “SuppressFinalize” del objeto GC.
23. Se solicita con el método “ReRegisterForFinalize” del objeto GC.
24. Se obtiene con la propiedad “MaxGeneration” del objeto GC.