Siete vacas nube conocimiento entrevista

1.final, por último, finalizar la diferencia?

final es un modificador, si una clase se declara final, lo que significa que no puede enviar otra nueva subclase inesperado no puede ser heredada como un padre. Está declarada como variables finales se debe dar en la declaración inicial, una referencia en el futuro sólo puede leer, no puede ser modificada, se declara como último método sólo se puede utilizar, no puede ser sobrecargado.

finalmente finalmente bloquear para proporcionar el manejo de excepciones para realizar cualquier limpieza. Si lo hace, entonces se ejecutará la cláusula catch coincidente fase, entonces el control, finalmente, entrar en el bloque.

finalizar el nombre del método, hacer la limpieza necesaria antes de que el método finalize () para eliminar el objeto de la memoria del recolector de basura. Este método llama al recolector de basura cuando no se hace referencia al objeto de determinar el objeto. Una subclase sobreescribe el método finalize () para organizar los recursos del sistema o realizar otras tareas de limpieza. método finalize () antes de que el recolector de basura para eliminar el objeto este objeto llamadas.

2. ordenamiento fila rápida es correcto estable? Algunos dicen estable especie, qué tipo de espacio complejidad es O (n)?

Rápida especie es una especie inestable, el proceso es fila rápida empezando por el primero como referencia, y luego comparar los datos de la extrema derecha, si es más pequeño que los datos, la posición de cambio, y luego comparar ese número k desde la izquierda, y si grande que k, k, y este elemento de conmutación será la posición correcta hasta que se determina la posición k final, seguido de la primera y segunda mitades en comparación especie, hasta que toda la especie es completa. Rápido Ordenado tiempo complejidad O (n log n 2), en el mejor

Estable especie tiene una especie de burbuja, inserción directa especie, la inserción binaria ordenación, fusión ordenar y Radix sort.

Espacio complejidad tipo O (n) y por el orden de combinación de tipo binario. Combinar especie es una especie estable, los usos del algoritmo divide y vencerás. La secuencia combinada se ha ordenado, ordenado totalmente secuencia; es decir, cada subsecuencia ordenado primero, y luego hacer que el tiempo secuencia ordenada. Los dos últimos se fusionarán en una lista ordenada lista ordenada, llamado fusión carretera.

3. diferencias y relaciones entre hilos y procesos

Es un hilo en el mismo proceso puede compartir recursos en ligera

 (1) espacio de direcciones: una unidad de ejecución dentro del proceso, el proceso tiene al menos un hilo, que comparten el espacio de direcciones del proceso, y el proceso tiene su propio espacio de direcciones independiente; 

 (2) los propietarios de recursos: el proceso es propiedad de una unidad de asignación de recursos y los recursos dentro de los mismos hilos de proceso comparten el proceso de 

 (3) Un hilo es la unidad básica de la programación del procesador, pero el proceso no lo es. 

 (4) los cuales pueden ejecutar concurrentemente.

 El proceso es la unidad básica de la asignación de recursos, el hilo es la unidad básica de la programación. Proceso contiene hilos, los hilos comparten los recursos de proceso.

4.3 tipos de patrones de diseño conocidos

modalidad de un solo modo, el modo de adaptador, modo de fábrica simple, modo de proxy

modos separados: siempre una clase sólo puede crear una instancia de esta clase se llama una clase Singleton, este patrón se llama patrón Singleton.

public class Singleton {

    Singleton privada () {}

    instancia privada Singleton static final = nuevo Singleton ();

    public static Singleton getInatance () {

        volver ejemplo;

    }

}

patrón de la fábrica sencilla es determinado por un objeto de fábrica para crear una instancia de qué tipo de producto de clase. patrón de la fábrica simple es un modo especial de realización de diferentes plantas.

modo de proxy es cuando las necesidades del cliente de código para llamar a un objeto, el cliente en realidad no importa si el objetivo es obtener información precisa, es sólo un tema que puede proporcionar el gongn podemos, entonces podemos volver al objeto proxy.

La actuación es un objeto java para actuar en nombre de otro objeto java

public class Imageproxy implementos imagen {

    // una instancia de imagen de combinación, como el objeto agente

    img Imagen privado;

    Imageproxy pública (img Imagen) {img this.img =;}

    Mostrar public void () {

        si (img == null) {img = new BigImage (); }

        img.show ();

    }

}

5. ¿Cómo estancamiento multi-threading y evitar estancamiento

  1. Secuencia de bloqueo: cuando una pluralidad de hilos requiere un poco de la misma cerradura, pero en un orden diferente de bloqueo, se produce un interbloqueo fácilmente. Si usted puede asegurarse de que todos los hilos son para adquirir un bloqueo en el mismo orden, entonces no se producirá el estancamiento.

  2. El tiempo de bloqueo: cuando se trata de cerraduras adquieren más un tiempo de espera, lo que significa que en el proceso de tratar de adquirir el bloqueo en excede este límite, renunciar a la rosca de la solicitud de bloqueo. Si un hilo no está dentro de un marco de tiempo dado recabar todas las cerraduras necesarias, se revertirán y liberan todos los bloqueos han sido adquiridos, y luego esperar un tiempo aleatorio y vuelve a intentarlo. Este tiempo de espera aleatorio para otros hilos tienen la oportunidad de tratar de obtener los mismos bloqueos, y dejar que la aplicación puede seguir funcionando en el momento en que no tuve la cerradura.

  3. detección de estancamiento: La principal bloqueo secuencial para aquellos que no pueden alcanzar y tiempo de espera de bloqueo no es posible escenario.

Cada vez que un hilo adquiere la cerradura, que se observó en el hilo se bloqueará y estructuras de datos asociados. Además Antes, cada vez que un hilo solicita un bloqueo, esto también tiene que ser registrado en la estructura de datos. Cada vez que un hilo que solicita el bloqueo falla, este hilo puede atravesar el gráfico de bloqueo para ver si hay estancamiento. Cuando se detecta el punto muerto, un método factible es liberar todos los bloqueos, rollback, y después de esperar por un tiempo de reintento aleatorio. Una solución mejor es establecer prioridades para estos temas, hacer un hilo o varios hilos enrollados hacia atrás, el resto de la rosca ya que no hay estancamiento continúa, ya que necesitan para mantener un bloqueo.

6. la forma de lograr mecanismo de sincronización

  método de sincronización de modificación con la palabra clave sincronizada

 Hay varios métodos para lograr la sincronización, son lo que? Se sincronizan, espera y notificar

 wait (): hacer que un hilo en un estado de espera, y libera el bloqueo mantenido por el objeto.
 sleep (): crea un hilo conductor en un estado de sueño, es una llamada a un método estático este método a excepción de captura InterruptedException.
 Notify (): despertar un hilo en un estado de espera, observando que en el momento en que este método se llama, no se despierta hasta exactamente estado de espera de un hilo, pero que está determinada por el hilo JVM se despierta, pero no por orden de prioridad.
 notityAll (): despertar un hilo en un estado de espera en absoluto, nota que no todos los hilos de despertar para bloquear un objeto, sino dejar que compiten.

Diferencia 7.UDP y TCP

1. basa vinculado a una conexión; protocolo orientado a la conexión es el TCP, UDP una conexión
2. Requisitos de recursos del sistema (TCP más, UDP menos);
3.UDP relativamente simple estructura del programa;
4. modo de flujo y de paquetes de datos de modo de ;

5.TCP asegurar la precisión de datos, UDP posible pérdida de paquetes, para los datos de garantía de TCP, UDP no garantiza

8.http 的 conseguir la cabeza de post

dirigirse solamente encabezado de la solicitud, la página método GET clase, no responde a la sección de cuerpo de la página, la información básica para el acceso a los recursos, es decir, para comprobar si los enlaces y la accesibilidad de la modificación de los recursos.

http 4xx Error de cliente no está permitido 400 401 Solicitud incorrecta de pago no autenticado 402 403 404 405 406 método prohibido no encontrado no aceptan la petición de tiempo de espera 408 414 Request URI demasiado largo

http 5xx Error de servidor 500 error interno del servidor 501 502 no realizada de puerta de enlace 504 de puerta de enlace Tiempo de espera 505 HTTP versión fracaso no soporta

9.git cómo deshacer los cambios en el archivo local

1. caché no agregado, archivo de modificación de deshacer git checkout - archivo

2. La zona de amortiguamiento se ha añadido, documentos de revocación presentación del expediente de restablecimiento CABEZA git o archivo --cached git rm

3. Se ha presentado a la reversión local de presentar git reset --hard commit_id / HEAD ^ n

4. empuje para tener a distancia 1> forma de reversión git git revert commit_id // será sometido a volver a retirarse por una nueva presentación, no sólo presentaron fue revocada, y las ramas locales también presentan uno más que la rama remota

                      2) maestro origen git push // empujado a distancia   de esta manera es más conveniente, pero el inconveniente es más de 2 veces inútiles comprometen, comprometen de modo que toda la rama ya no está limpio. 

                         3) Puede eliminar una rama remota, y luego hacer retroceder la sección local, y luego empuje la rama local de origen

10.linux comando, ver el puerto de ocupado, condiciones vista de la memoria

  Ver la ocupación del puerto lsof -i: número de puerto para ver un puerto ocupado por el caso, como lsof -i: 8000

      -tunlp -an | grep proceso de números de puerto para ver el número de puerto especificado de los casos

      -anp -an | grep número de puerto 

  Compruebe la memoria de ocupación introducir ps aux entrada superior --sort -RSS memoria vista

     gato de entrada / proc / meminfo gnome-system-monitor de entrada

11. ¿Cómo la base de datos indexada

crear índice único nombre de índice único índice en nombre de la tabla para crear un índice único, la base de datos puede garantizar la singularidad de cada fila de datos.

Puede acelerar considerablemente la velocidad de los datos de índice, puede acelerar la conexión entre la mesa y la mesa, sobre todo en referencia a un interés particular para los aspectos de integridad de datos.

Puede reducir significativamente el tiempo de consulta agrupados y ordenados por el uso de un índice, el proceso puede consultar, corrector optimizado para mejorar el rendimiento del sistema.




Publicado 36 artículos originales · ganado elogios 19 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/qq_27182767/article/details/80296341
Recomendado
Clasificación