preguntas cara básicos -Java

Ahora la nueva tecnología es muy rápida iteración, tenemos que aprender a dominar más nueva tecnología, y tenemos que seguir para consolidar el conocimiento aprendido ya, un poco de acumulación de conocimientos con el tiempo se convertirá en un salto cualitativo. Ahora me gustaría resumir algunas preguntas de la entrevista de Java común.

Original: https://blog.csdn.net/sufu1065/article/details/88051083

Artículo de referencia

    artículo 1

Una base .java

1.JDK y JRE ¿Cuál es la diferencia?

Respuesta: JDK : JDK de Java Development Kit es una abreviatura, es JDK de Java Development Kit instalará el JRE, principalmente para los desarrolladores, JDK incluye JRE, JDK se instala al mismo tiempo. 

        El JRE : JRE es un acrónimo para el entorno de ejecución de Java, es el entorno de ejecución de Java , principalmente para el programa de usuario Java, JRE es la plataforma Java puede ejecutarse en sus aplicaciones de prueba y de transmisión. Incluye la máquina virtual Java (JVM), bibliotecas de clases de Java central y los archivos de soporte. No incluye herramientas de desarrollo (JDK) - compilador, depurador y otras herramientas.

       La JVM : la JVM es la máquina virtual Java, que es la parte central de la totalidad de Java multiplataforma , toda la programación de la primera Java se compila en archivos .class clase de este archivo de clase se puede ejecutar en una máquina virtual.

             Explicación detallada : https://blog.csdn.net/chen_006/article/details/88656268

2. == y equals () ¿Cuál es la diferencia?

A:    == : 1. Si los datos básicos utilizados para determinar el tipo (también llamado el tipo de datos original) (byte, short, char, int, long, float, double, boolean). Comparación entre ellos, la aplicación de signo igual doble (==), la comparación de su valor .

                  2. Si los datos de referencia utilizados para determinar el tipo , cuando se comparan con (==), la comparación es que dirección almacenada en la memoria (para ser exactos, es la memoria de pila de direcciones).

         los equals ()  : si la referencia utilizada para determinar el tipo de clase de comparación es por valor de la dirección predeterminada, también se pueden utilizar si las cadenas son iguales, podemos reescribir el método de acuerdo a su propia. reescritura general se generan automáticamente, comparando el valor del objeto variables miembro son los mismos.

         Explicación detallada : https://www.cnblogs.com/qianguyihao/p/3929585.html

                          https://www.cnblogs.com/zhxhdean/archive/2011/03/26/1996468.html

 

hashCode 3. dos objetos () son las mismas, es igual a () sin duda es cierto, ¿verdad? 

 A: mal, hashCode dos objetos () de la misma, es igual a () no es necesariamente cierto.

        Explicación detallada de ejemplo: https://blog.csdn.net/qq_35771266/article/details/91345052 

¿Cuál es el papel 4.final en Java?

 A: El uso de palabras clave final, y pueden ser clases, variables, métodos, variables que representan no ser modificado modificado, la clase no puede ser heredado, el método no puede ser sobrescrito.

        clase de modificación: Cuando una clase se modifica el tiempo final, representado a la clase para la clase final no puede ser hereditaria, tales como los usados ​​comúnmente en la clase String es de clase final.

        método Modificación: Cuando se modifica un método de tiempo final, que indica que el método para el método final, este método no puede ser anulado por las subclases, pero puede ser heredada por las subclases.

        variables de modificación: Si la variable es un tipo de datos simple, indica que la variable es una constante, el valor no se puede modificar. Si la variable es un tipo de datos de referencia, tales como objetos, el número de grupos, la propia matriz de objetos puede ser modificado, pero las referencias a la dirección del objeto o la matriz no puede ser modificado.

       Explicación detallada: https://www.cnblogs.com/chhyan-dream/p/10685878.html

                         https://www.cnblogs.com/tanshaoshenghao/p/10908771.html

El 5.Java Math.round (-1,5) igual a la cantidad?

A: Math.round (-1,5) valor de retorno es -1. principio de redondeo se aplica a los parámetros de 0,5 y luego se redondea hacia abajo al hacer

6.String pertenece al tipo de datos básica? 

R: Yo no pertenezco. Visita aquí el tiempo que los tipos de datos básicos de Java qué.

                      Java 8 clases de tipos de datos básicos son: int bytes carbón doble corto tiempo de flotación booleano

¿Cuáles son la clase string 7..java operativo? ¿Cuál es la diferencia entre ellos?

R: clases de Java para manipular cadenas Sé que hay tres, Cadena StringBuffer StringBuilder. Estos tres fueron salvados por la cadena char [],

       Cadena           : Cadena modificación es inmutables cuerdas, cuando las modificaciones equivalentes a la variable de cadena modificada para volver a crear un objeto. 

       StringBuffer : utiliza para hacer funcionar una variable de cadena, el método de concatenación de cadenas es append (), un método en el StringBuffer mayoría modificado con la palabra clave sincronizada, que es hilo de seguridad , y más adecuado para multi-roscado caso de.

      StringBuilder:   utiliza para hacer funcionar una variable de cadena método, la concatenación de cadenas es el append (), el método StringBuffer no sincronizado con la reparación decorativo, debido a que es no seguro para subprocesos y más eficiente, más adecuado para un solo roscado en el caso de .

8.String cadena = "i" y la cadena str = new String ( "i") de la misma?

 Respuesta: no es lo mismo.

         str String = "i": se refiere al punto i en la variable de memoria de direcciones str, no hay en este momento si un valor de la variable i en este momento str2 str str2 y es una memoria común.

        Cadena str = new String ( "i"): aspirado nueva cadena ( "i"); la dirección de objeto asignado str2, hay que señalar que esta frase es un objeto recién creado. Si en este momento Cadena STR4 = new String ( "i"); a continuación, el equivalente de otro para crear un nuevo objeto, y luego asignar un valor a la dirección de la STR4 objeto, aunque el valor de str2 STR4 y el valor son los mismos, pero siguen siendo no el mismo objeto.

9. ¿Cómo revertir una cadena?

A: Usted puede utilizar un método StringBuffer StringBuilder inversa, también se puede lograr su propio.

       Explicación detallada : por ejemplo, https://blog.csdn.net/meism5/article/details/89329699 

clase 10.String método común tienen esos?

Respuesta: (iguales) derramados (indexOf) () Charat () longitud () replace () trim () getBytes () toLowerCase () toUpperCase () substring ()

  1. equals () se utiliza principalmente para determinar si las dos cadenas son iguales
  2. Derramada () principalmente para el corte de cadena, devuelve una matriz de cadenas
  3. indexOf principalmente se utiliza para devolver la cadena especificada en el índice
  4. charAt () se basa en el índice de caracteres especificado
  5. length () devuelve la longitud de la cadena es principalmente
  6. replace () se utiliza principalmente para reemplazar la cadena
  7. trim () eliminar ambos extremos de la cadena en blanco
  8. getBytes () Devuelve una matriz de bytes de cadenas
  9. la toLowerCase (minúscula) Cadena
  10. toUpperCase convertir una cadena en mayúsculas
  11. El corte de la cadena subcadena

 

11. clase abstracta debe ser de manera abstracta? 

R: No es necesario.  

       Normalmente utilizamos el resumen de modificar una clase abstracta.

       Resumen Resumen de clase:

  • 1. clase abstracta no puede ser instanciada (principiantes fácil cometer el error), si se crea una instancia, será el error, el compilador no puede pasar. Sólo la clase abstracta subclases no abstractas pueden crear objetos.

  • 2. clase abstracta no necesariamente contiene métodos abstractos, pero hay métodos abstractos de la clase debe ser clase abstracta.

  • 3. Método de implementación del método El método de la clase abstracta simplemente declaró abstracta no tiene un cuerpo, no se da es funciones específicas.

  • 4. El método de construcción, un método de clase (un método estático modificado) no se puede declarar métodos abstractos.

  • La subclase de la clase abstracta debe implementar los métodos abstractos dan una clase abstracta específica, a menos que las subclases son abstractos.

      Las clases abstractas necesitan un poco de atención:

  • 1. Si una clase contiene método abstracto, a continuación, la clase debe ser abstracta.
  • 2. Cualquier subclase debe reemplazar los métodos abstractos de la clase padre, o declarar a sí misma como una clase abstracta
  • 3. clase abstracta no puede definir métodos abstractos, métodos abstractos con el fin de evitar que este objetivo clase sólo para crear un objeto.
  • 4. Palabra clave Resumen Resumen y última, privado, tres palabras clave estática no coexisten.

     

12. Las clases ordinarias y clases abstractas Cuáles son las diferencias?

Respuesta:

  • Una clase abstracta no puede ser instanciada
  • Una clase abstracta puede tener métodos abstractos, métodos abstractos En pocas palabras, sin la aplicación de
  • clase abstracta que contiene el método debe ser declarado como una clase abstracta
  • subclase abstracta de todos los métodos abstractos clase abstracta debe implementar, de lo contrario esta subclase es también una clase abstracta
  • Los métodos abstractos no pueden ser declarados como static
  • Los métodos abstractos no pueden ser modificados por privado
  • Los métodos abstractos no pueden ser modificados por la final

 

13. clase abstracta se puede modificar mediante el árbitro final? 

A: No.

  Una clase abstracta puede ser hereditaria, pero la modificación final, que indica que la clase no puede ser modificado, no puede ser heredada. Los lectores también podrían utilizar su cuenta para ver cuál es la palabra clave final.

14. Interfaces y clases abstractas Cuál es la diferencia? 

 La diferencia entre clases abstractas e interfaces:

       Interfaz: el apoyo 3.Java 1 interfaz de la interfaz 2. modificar la interfaz no puede ser instanciada herencia simple, que sólo puede heredar una clase, pero puede implementar múltiples interfaces.

                  4. La interfaz es un método abstracto, no puede ser alcanzado

       clase Resumen: clase abstracta 1 y métodos no abstractos modificado método 3. Un extracto que comprende la interfaz no puede ser instanciada usando el extracto clase abstracta. 4. Hay un método abstracto cierta clase es una clase abstracta, no se materializa un método abstracto. 5. Si un implementos sub-clase todo el clase padre abstracta (clase abstracta), entonces la sub-clase puede no ser necesariamente una clase abstracta, o es una clase abstracta.

 

15.java la corriente IO se divide en varias? 

R: en las corrientes de entrada y salida a la corriente que fluye. La unidad de operación puede ser dividido en un flujo de bytes y una secuencia de caracteres. El flujo de caracteres se puede dividir en el nodo y la corriente de flujo del proceso.

 

  • InputStream / Lector: clase base para todos los flujos de entrada, el primero es el flujo de entrada de bytes, que es el flujo de entrada de caracteres.
  • OutputStream / escritor: clase base para todos los flujos de salida, la primera es flujo de bytes de salida, que es el flujo de caracteres de salida.

 Siguiendo el procedimiento se puede dividir en:

¥ ae¿eaea a¾caee¿ °

Explicación detallada : https://blog.csdn.net/weixin_43643277/article/details/96282707

 

16.BIO, NIO, AIO ¿Cuál es la diferencia?

Respuesta: IO manera se suele dividir en varias obstrucción, simultánea de BIO, sincrónica sin bloqueo NIO, asíncrono sin bloqueo AIO.

    BIO:  Antes de que aparezcan jdk1.4, se establece una conexión de red de uso general BIO, tenemos que empezar un ServerSocket en el servidor y, a continuación, iniciar zócalo para comunicarse con el servidor en el cliente. Utilizamos BIO, tiende a introducir múltiples hilos, cada uno conectado a un hilo separado. BIO es un hilo de conexión.

             BIO adecuado para aplicar un relativamente pequeño número de conexiones y la arquitectura fija , los recursos del servidor de esta manera es relativamente alta, aplicaciones simultáneas limitados, la única opción JDK1.4 anteriormente, pero el programa intuitivo y fácil de entender.

    NIO:  sí NIO se basa en el pensamiento orientado a eventos se realiza, la principal solución es pensar en grandes problemas de concurrencia de BIO. NIO es de una sola rosca o sólo una pequeña cantidad de multi-hilos, cada uno conectado a un hilo común. NIO es un hilo petición.

             arquitectura NIO manera adecuada y conectado con el número de la conexión de corto múltiple (operación de la luz) , tal como el servidor de chat, aplicaciones concurrentes limitados, la programación más compleja, comenzó a apoyar la JDK1.4

     AIO:  modo de servidor sin bloqueo asíncrono es una solicitud válida para lograr un hilo, las solicitudes de los clientes de E / S se completan con el sistema operativo para el servidor de notificaciones y luego comienzan a las roscas del proceso de aplicación,

              Arquitectura manera AIO utilizar más que el número de conexiones y la conexión es relativamente largo (operación de pesada) , tales como servidor de álbumes de fotos, llamar al sistema operativo para participar plenamente en funcionamiento simultáneo, programación relativamente compleja, comenzó a JDK7 apoyo.

    Dirección:  https://blog.csdn.net/skiof007/article/details/52873421

¿Cuáles son los métodos comunes 17.Files?

  1.  Files.exists () detecta que existe la ruta del archivo
  2.  Files.createFile () para crear un archivo
  3.  Files.createDirectory () Crear carpeta
  4.  Files.delete () para eliminar el archivo o directorio
  5.  Files.copy () para copiar archivos
  6.  Files.move () para mover archivos
  7.  () El número para ver el archivo Files.size
  8.  Files.read () para leer el archivo
  9.  Files.write () para archivos de escritura

 

Volver agregar lentamente. .
 

Publicado 66 artículos originales · ganado elogios 49 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/tangthh123/article/details/104141618
Recomendado
Clasificación