Cómo Dibujar Texto en una Ventana / Recolección de Información no Válida
Subtitles of the Movie
Una de las mejores características del Java es la recolección de información no válida. Como programador del Java, usted casi nunca tendrá que preocuparse por la administración de la memoria. Éste aspecto ya está controlado. Para ver lo que quiero decir, observemos la Clase "TextTwo" de la lección anterior. Dentro de un Método, al enunciar una Referencia como en ésta llamada "Rectangle", el espacio necesario se asigna localmente y sólo existe mientras el Método está siendo ejecutado. Una vez el Método se restituye al emisor de la comunicación, la Referencia se borra y la memoria utilizada queda disponible para otras partes del programa. Por otra parte, a los objetos se les asigna un espacio a partir del conjunto de memoria disponible, el cual permanecerá dedicado a un objeto sólo hasta que se presente por lo menos una Referencia que contenga su dirección. Una vez no se pueda encontrar una Referencia para un objeto, el sistema reclama de nuevo la memoria. Si se ejecuta éste programa, el Método "paint" es llamado una y otra vez para trazar la cadena. Cada vez que éste Método es llamado, el Método "getBounds" también es llamado y se crea un nuevo objeto "Rectangle". No existe un código para borrar el objeto "Rectangle" porque el Java se encarga de esto automáticamente. Cuando el Método "paint" completa su tarea, la Referencia llamada "rect", la cual contiene la dirección del objeto "Rectangle", se restituye al sistema. El Java se da cuenta de éste hecho y de que no hay ninguna Referencia para el objeto "Rectangle", así que reclama el objeto y recicla la memoria que estaba siendo utilizada. Este proceso se conoce como recolección de información no válida. Podemos crear todos los nuevos objetos que queramos en el programa y el Java los eliminará después. Todo lo que debemos hacer es olvidarnos de un objeto y éste se restituye automáticamente en el sistema. Esto hace que sea difícil escribir un programa del Java que se expanda accidentalmente en la memoria "Hogg" de la computadora. Un error como éste se conoce como una pérdida de memoria y es bastante común… en otros lenguajes que usan una asignación de memoria dinámica como el C y C++. La recolección de información no válida es una de las características más atractivas del Java. Ésta hace que la vida sea más fácil al no tener que limpiar después de terminar. Si olvidamos algo, esto será reclamado y reciclado automáticamente. El proceso de la recolección de información no válida es recursivo. Esto significa que si ya no existe una Referencia para un objeto A, éste será reclamado por el sistema. Si el objeto A contiene a su vez una Referencia para un objeto B, entonces éste también será reclamado. Éste proceso continúa hasta que cada porción de la memoria a la cual ya no podemos acceder sea restituida al sistema y esté disponible para una nueva sentencia "new". Todo éste proceso sucede mientras el programa se está ejecutando. Es posible que usted presencie discusiones acerca de la eficiencia de la recolección de información no válida. También puede encontrarse con discusiones que comparan un algoritmo de recolección de información no válida con otro. Las rutinas de la recolección de información no válida en la Máquina Virtual del Java son mucho más rápidas… y eficientes que aquellas que existían cuando el Java apareció en el mercado. En éste ejemplo, el Método "paint" es llamado cada vez que la ventana se actualiza, y así mismo, se crean tres objetos: el "Rectangle", el "String" y el "FontMetrics". Cuando el Método "paint" termina su tarea, todas las Referencias se restituyen al sistema, así que todos los objetos son reciclados. Pero todo éste proceso sucede muy rápido. La asignación de la memoria y las rutinas de la reclamación son tan rápidas que podemos ignorarlas. Ésta es una situación muy extraña, la cual requiere que hagamos algo para reducir la cantidad de recolección de información no válida. Por lo general, éste tipo de problemas sólo surge de vez en cuando porque éste es un proceso de tiempo real, y aún así, es mejor asegurarse de que el programa funciona para luego regresar y acelerarlo. rse de que el programa funciona para luego regresar y acelerarlo.
Tutorial Information
| Course: | Java: Introduction to Java Programming (Español) |
| Author: | Arthur Griffith |
| SKU: | 33644 |
| ISBN: | 1-932808-86-8 |
| Release Date: | 2005-09-22 |
| Duration: | 8.5 hrs / 92 lessons |
| Captions: | Available on CD and Online University |
| Compatibility: |
Vista/XP/2000, OS X, Linux QuickTime 7, Flash 8 |
VTC Sign up & Benefits
- Unlimited Access
- 98,729 Video Tutorials (23,265 free)
- Video Available as Flash or QuickTime
- Over 1026 Courses
- $30 for One Month Access
- Multi-User Discounts Available
United States 