Red de conocimientos sobre prescripción popular - Remedios caseros - ¡Habilidades de manejo de excepciones de Java! ! ! !

¡Habilidades de manejo de excepciones de Java! ! ! !

La simplicidad y aplicación del mecanismo de manejo de excepciones en 1. Lenguaje Java (un lenguaje informático, especialmente utilizado para crear sitios web)

Cuando un programa Java viola las reglas semánticas de Java, la Máquina Virtual Java representa el error como una excepción. Las violaciones de las reglas semánticas incluyen dos situaciones. Una es la semántica incorporada de las bibliotecas de clases Java. Por ejemplo, si el subíndice de la matriz está fuera de los límites, se generará una excepción IndexOutOfBoundsException al acceder a un objeto nulo. Otra situación es que Java permite a los programadores ampliar esta verificación semántica. Los programadores pueden crear sus propias excepciones y elegir libremente cuándo lanzarlas utilizando la palabra clave throw. Todas las excepciones son subclases de java.lang.Thowable

2 Similitudes y diferencias entre las interfaces Java y las clases virtuales C++.

Dado que Java no admite la herencia múltiple y es posible que una clase u objeto utilice métodos o propiedades en varias clases u objetos, el mecanismo de herencia única existente no puede cumplir con los requisitos. En comparación con la herencia, las interfaces son más flexibles porque no hay código de implementación en la interfaz. Cuando una clase implementa una interfaz, debe implementar todos los métodos y propiedades de la interfaz. Las propiedades de una interfaz son públicas estáticas de forma predeterminada y todos los métodos son públicos de forma predeterminada. Una clase puede implementar múltiples interfaces.

3. Ventajas y principios de la recogida de basura. Y considere dos mecanismos de reciclaje.

Una característica notable del lenguaje Java es la introducción de un mecanismo de recolección de basura, que resuelve el problema de memoria más problemático para los programadores de C++, de modo que los programadores de Java ya no necesitan considerar la administración de memoria al escribir programas. Debido al mecanismo de recolección de basura, los objetos en Java ya no tienen el concepto de "alcance". Solo las referencias a objetos tienen "alcance". La recolección de basura puede prevenir eficazmente las pérdidas de memoria y utilizar eficazmente la memoria disponible. El recolector de basura generalmente se ejecuta como un único subproceso de bajo nivel que, en circunstancias impredecibles, limpia y recupera objetos en el montón de memoria que han muerto o no se han utilizado durante mucho tiempo. Los programadores no pueden llamar al recolector de basura en tiempo real para recolectar basura de uno o todos los objetos. Los mecanismos de reciclaje incluyen recolección de basura de copias generacionales, recolección de basura marcada y recolección de basura incremental.

4. Método de sincronización de hilos.

Esperar(): deja que un hilo espere y libera el bloqueo del objeto retenido.

Sleep(): Este es un método estático utilizado para poner un hilo en ejecución en estado de suspensión. Llame a este método para detectar InterruptedException.

Notify(): activa un hilo en espera. Tenga en cuenta que al llamar a este método, no puede activar exactamente un hilo en espera. En cambio, la JVM decide qué hilo activar, no en función de la prioridad.

Allnotity(): activa todos los subprocesos en estado de espera. Tenga en cuenta que en lugar de otorgar a todos los subprocesos despiertos un bloqueo sobre un objeto, se les permite competir.

5. ¿Cuál es la diferencia entre errores y excepciones?

Los errores significan errores y excepciones a nivel del sistema que el programa no tiene que manejar.

Las excepciones se refieren a excepciones que el programa necesita detectar o manejar.

6. En Java, las clases se declaran como tipos finales. ¿Qué quiere decir esto?

Indica que la clase no se puede heredar y es una clase de nivel superior.

7. ¿Cuál es la diferencia entre montón y pila?

Stack es una colección lineal, y las operaciones de agregar y eliminar elementos deben completarse en el mismo párrafo. La pila se procesa según el principio de último en entrar, primero en salir. El montón es una parte integral de la pila.

8. Habla sobre la diferencia entre final, finalmente y finalizar.

Final-Modifier (palabra clave) Si una clase se declara como Final, significa que ya no puede derivar nuevas subclases, ni se puede heredar como clase principal. Por tanto, una clase no puede declararse abstracta y final al mismo tiempo. Declarar variables o métodos finales garantiza que no se cambiarán mientras estén en uso. A las variables declaradas finales se les debe asignar un valor inicial cuando se declaran y solo pueden leerse pero no modificarse mediante referencias posteriores. Los métodos declarados como finales sólo se pueden utilizar y no se pueden sobrecargar.

Finalmente: proporcione un bloque Finalmente para realizar cualquier operación de limpieza durante el manejo de excepciones. Si se produce una excepción, se ejecutará la cláusula catch correspondiente y el control pasará al bloque finalmente (si lo hay). Listo: nombre del método. La tecnología Java permite el uso del método finalize() para realizar la limpieza necesaria antes de que el recolector de basura borre un objeto de la memoria. El recolector de basura llama a este método cuando determina que no se hace referencia al objeto. Está definido en la clase Objeto, por lo que todas las clases lo heredan. Las subclases anulan el método finalize() para organizar los recursos del sistema o realizar otras tareas de limpieza. Antes de que el recolector de basura elimine el objeto, se llama al método finalize().

9. Clases internas anónimas (clases internas anónimas)

¿Puedes ampliar otras clases e implementar interfaces?

Las clases internas anónimas son clases internas sin nombre. No se pueden ampliar otras clases, pero otra clase interna puede implementar una clase interna como interfaz.

10. La diferencia entre clases anidadas estáticas y clases internas

Clases anidadas (generalmente C++), clases internas (generalmente JAVA). La mayor diferencia entre las clases internas de Java y las clases anidadas de C++ es si existen referencias externas.

Nota: Clase interna estática significa 1 crear un objeto de clase interna estática sin objeto de clase externa, 2 no puede acceder al objeto de clase externa desde el objeto de clase interna estática.

Este artículo proviene de www.wangluosky.cn, la red de tutoriales del cielo en línea. Fuente original:/show.asp? identificación=1237