Primero, hablemos de la diferencia entre final, finalmente y finalizar.
modificador final? (palabra clave) Si una clase se declara final, significa que ya no puede derivar nuevas subclases y no se puede heredar como clase principal. Por lo tanto, una clase no puede declararse abstracta y final. Declare las variables o métodos como finales para garantizar que no se cambiarán durante el uso. A las variables declaradas como finales se les debe dar un valor inicial cuando se declaran, y solo se pueden leer en referencias posteriores y no se pueden modificar. Los métodos declarados como finales también solo se pueden utilizar y no se pueden sobrecargar.
¿finalmente? Proporcionar un bloque finalmente para realizar cualquier operación de limpieza durante el manejo de excepciones. Si se produce una excepción, se ejecuta la cláusula catch correspondiente y el control pasa al bloque finalmente (si lo hay).
finalizar? nombre del método. La tecnología Java permite el uso del método finalize() para realizar el trabajo de limpieza necesario antes de que el recolector de basura borre el objeto de la memoria. El recolector de basura llama a este método en este objeto 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 otros trabajos de limpieza. El método finalize() se llama en el objeto antes de que el recolector de basura lo elimine.
En segundo lugar, la diferencia entre HashMap y Hashtable.
Todas son clases que pertenecen a la interfaz Map e implementan el mapeo de claves únicas a valores específicos.
La clase HashMap no ordena ni ordena. Permite una clave nula y múltiples valores nulos.
Hashtable es similar a HashMap, pero no permite claves nulas ni valores nulos. También es más lento que HashMap porque es sincrónico.
En tercer lugar, String s = new String("xyz"); ¿cuántos objetos String se crean?
Hay dos objetos, uno es "xyx" y el otro es el objeto de referencia que apunta a "xyx".
Cuarto, ¿cuál es la diferencia entre dormir () y esperar (), el favorito de Threading?
El método sleep() es un método que detiene el hilo por un período de tiempo. Una vez transcurrido el intervalo de suspensión, el subproceso no necesariamente reanuda la ejecución de inmediato. Esto se debe a que en ese momento, es posible que se estén ejecutando otros subprocesos y no están programados para abandonar la ejecución a menos que (a) el subproceso "despertador" tenga una prioridad más alta.
(b) El hilo en ejecución está bloqueado por otros motivos.
Cuando se usa wait() para la interacción de subprocesos, si el subproceso emite una llamada de espera() a un objeto de sincronización x, el subproceso suspenderá la ejecución y el objeto llamado entrará en estado de espera hasta que se despierte o expire el tiempo de espera.
Quinto, ¿qué hay de malo en s1 = 1; s1 = s1 + 1;?
short s1 = 1; s1 = s1 + 1; es incorrecto, s1 es de tipo short, s1+1 es de tipo int y no se puede convertir explícitamente a tipo short. Se puede modificar como s1 =(corto)(s1 + 1). corto s1 = 1; s1 += 1 es correcto.
Sexto, la diferencia entre sobrecarga y anulación. ¿Pueden los métodos sobrecargados cambiar el tipo de valor de retorno?
La anulación y la sobrecarga de métodos son diferentes manifestaciones del polimorfismo de Java. La anulación es una manifestación de polimorfismo entre clases principales y subclases, y la sobrecarga es una manifestación de polimorfismo en una clase. Si un método definido en una subclase tiene el mismo nombre y parámetros que su clase principal, decimos que el método está anulando. Cuando un objeto de una subclase usa este método, llamará a la definición en la subclase. Por ello, la definición en la clase principal parece estar "protegida". Si se definen varios métodos con el mismo nombre en una clase y tienen diferente número de parámetros o diferentes tipos de parámetros, se denomina sobrecarga de métodos. El método sobrecargado puede cambiar el tipo de valor de retorno.
En séptimo lugar, los elementos del conjunto no se pueden repetir, entonces, ¿qué método se utiliza para distinguir si se repiten o no? ¿Debería utilizar == o igual ()?
Los elementos del Conjunto no se pueden repetir, así que utilice el método iterador () para distinguir si se repiten o no. equals() determina si dos conjuntos son iguales.
Los métodos equals() y == determinan si un valor de referencia apunta al mismo objeto. se anula en la clase para que devuelva verdadero cuando el contenido y los tipos de dos objetos separados coinciden.
Octavo, ¿cuál es la diferencia entre error y excepción?
El error representa un problema grave en una situación en la que la recuperación no es imposible sino difícil. Por ejemplo, desbordamiento de memoria. Es imposible esperar que un programa pueda manejar tal situación.
La excepción representa un problema de diseño o implementación. Es decir, representa una situación que nunca ocurriría si el programa se estuviera ejecutando normalmente.
Noveno, dame una excepción de tiempo de ejecución que veas con más frecuencia.
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, VacuumStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
Décimo, los elementos del Conjunto no se pueden repetir, entonces, ¿qué método se utiliza para distinguir si se repiten o no? ¿Debería usarse == o igual ()?
Los elementos del Conjunto no se pueden repetir, así que utilice el método iterador () para distinguir si se repiten o no. igual () determina si dos conjuntos son iguales.
Los métodos equals() y == determinan si un valor de referencia apunta al mismo objeto. se anula en la clase para que devuelva verdadero cuando el contenido y los tipos de dos objetos separados coinciden.