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.
© Copyright 2024