Cinco minutos para aprender Java: Java para aprender cómo entrevistar y las pruebas de la máquina virtual JVM

Sin nombre copia .jpg _

Declaración original

Autor: Huang oblicua

Reimpresión favor indique la fuente y el autor al comienzo del artículo.

En este artículo se Cartografía de la mente

Aquí Insertar imagen Descripción

¿Por qué aprender máquina virtual JVM

¿Alguna vez ha participado en una entrevista reciente de Java? ¿Usted ha notado, entrevista de Java siempre el amor a probar una clase de problemas que la máquina virtual JVM, por lo que el entrevistador por qué el estudio del amor JVM problema, esto fue debido a que todos los programas Java son esencialmente ejecutan en la JVM ninguna JVM máquina virtual, no hay ningún entorno de ejecución del lenguaje Java, sólo para dominar el conocimiento relevante máquina virtual JVM, se puede decir que usted sabe de Java, de lo contrario, se reproducirá como un teléfono celular la gente dice que son no entienden operativo Android el mismo sistema.

La introducción Baidu Encyclopedia, es una abreviatura para la máquina virtual Java JVM (máquina virtual Java), la JVM es un código de un dispositivo informático, que es un ordenador de ficción, por simulaciones en una simulación por ordenador de los diferentes equipo real funcionar a lograr. Después de la introducción del lenguaje de máquina virtual de Java, no necesita lenguaje Java que volver a compilar para ejecutarse en diferentes plataformas cuando. Máquina Virtual de Java utilizando la información lenguaje Java asociado con una plataforma de protección especial, por lo que sólo compilador de lenguaje Java para generar el código objeto (código de bytes) que se ejecuta en la máquina virtual de Java puede ejecutarse sin modificaciones en múltiples plataformas .

Es a causa de la presencia de la JVM, Java será capaz de tener la capacidad de ejecutar múltiples plataformas, una vez, ejecuta en todas partes, contraste, C ++ tipo de lenguaje, es necesario recopilar todas partes para funcionar, ya que en sí es un lenguaje y sistema operativo fuerte asociación también no existe el concepto de una máquina virtual.

Por supuesto, debido a la presencia de la máquina virtual JVM, la complejidad del lenguaje Java también se reduce en gran medida, su salario es pagado por la velocidad ha disminuido, dejando la máquina virtual JVM de Java que no tiene sentido hablar, aprender es aprender todo lo que la tecnología JVM de Java premisa.

¿Cómo aprender máquina virtual JVM

máquina virtual JVM de nuestra parte

La primera vez que oí esta cosa máquina virtual JVM, o en una cara preguntas en, entonces no sé si esto es un ah infierno, entonces compré un libro llamado JVM Biblia "la comprensión en profundidad de la máquina virtual JVM" tuvo la suerte sabe, la máquina virtual que se ejecuta en la JVM original de nuestros ordenadores.

Como desarrollador de Java, de tres piezas de la entrada es probablemente el IDE, JDK y JRE, de hecho, JDK contiene el JRE, y JRE (Java Runtime Environment) también contiene la máquina virtual JVM. Cuando usamos o utilizar ide JavaC compilar la ejecución del programa Java o, de hecho, el mutan código de Java en bytecode de clase, y luego arrojado a la ejecución de JVM.

Nuestra tarea en este momento habrá un gestor de procesos, llamada Java, este proceso puede ser entendido como un proceso de JVM, y este proceso hay muchos hilos sub, son responsables de la aplicación del código, la recolección de basura y así sucesivamente.

Muchas veces no tenemos idea de máquina virtual JVM es Gesha, naturalmente, no pueden aprenderlo bien, una vez que entendemos su naturaleza, las cosas detrás de la curva de aprendizaje no será tan doloroso.

En las preguntas de la cara de JVM

Hay una gran cantidad de programadores JVM puede ser la primera vez que se escucha durante la entrevista, cara preguntas sobre la JVM, de hecho, una gran cantidad de, por ejemplo, cuando algunas de las preguntas de la entrevista más populares, tales como "montón JVM y apilar ¿Cuál es la diferencia", " algoritmo de recolección de basura de la que JVM "" modelo de memoria de JVM es qué tipo de ", etc., tal título considerado como la base de comparación.

Tales temas, por lo general por el cepillo por la superficie, es posible responder a ella, después de todo, el entrevistador no necesariamente va a saber más de lo que, por lo que el entrevistador no puede cavar más profundo. Pero si parte de la investigación técnica era más profunda empresa no es necesariamente una gran cantidad de las empresas basadas en la tecnología de pila de Java, especialmente las empresas proveedoras de electricidad, para examinar la JVM es bastante profundo, además de grupo Ali Estados Unidos, no Jingdong, el único producto con el elogio, luchar contra un montón de otras compañías.

Por lo tanto, puede ser que también echar un vistazo a la versión avanzada de la JVM se enfrentan con cuestiones parecen. En primer lugar, la versión avanzada del título principalmente en profundidad, como el modelo de memoria de la JVM, se debe dejar en claro lo que cada región está haciendo, y hará que la escena real para pedirle que, como variables de cadena en la que el área metadatos basado en qué región de las variables locales y globales y las que se colocan las regiones. Si eres modelo de memoria de sólo vagamente conscientes, de repente, se verá a través del entrevistador.

versión avanzada de la entrevista JVM también como para examinar los detalles, como el algoritmo de recolección de basura JVM, copia de parada, de modo evidente, es necesario un proceso claro, las ventajas y desventajas respectivas clara. Si este problema no es una amenaza para usted suficiente, puede que desee ver otro tipo de preguntas JVM recolección de basura, "¿Cómo es la GC generación joven, explique en detalle el proceso" Una gran parte del entrevistador podría decirlo simplemente acerca de la generación joven los métodos de recuperación.

Es posible que simplemente respondió: "uso de detener la copia hecha" De hecho, de hecho, no puede decir que hay una gran cantidad de datos, en primer lugar, la generación joven se divide en zonas de Edén y el distrito de sobreviviente, sobreviviente también se divide en zonas y desde al distrito, región eden será puesta objetos que sobreviven de la zona, pero después de la siguiente CG joven, de región a región y intercambiará posiciones, el objeto seguirá el movimiento, por lo que la edad del objeto más uno, cuando el objeto sobre la edad de cuando el valor umbral, el objeto entrará en la era antigua.

Aparentemente simple pregunta en realidad puede conocer el resultado de tantas puertas, y esta es mi experiencia se resume muchas veces después de la experiencia de la entrevista.

JVM Biblia "la comprensión en profundidad de la máquina virtual JVM"

Miles y miles de libros de Java, pero lo que realmente puede dejar claro máquina virtual JVM puede reservar sólo éste hacia arriba. La mayoría blog en línea acerca de la JVM está básicamente aprender el contenido o referencia libro.

Entonces este libro, al final dice lo que el contenido de algunos de los JVM, y deseo de trabajar juntos para desmontarlo.

La primera parte de este libro trata de la historia del lenguaje Java, y por qué se debe ejecutar en la JVM, que es muy importante, de lo contrario los desarrolladores se preguntan por qué lenguaje de programación buena para ejecutarlo en una máquina virtual .

En la segunda parte, el libro comenzó a introducir los conceptos básicos de la JVM que el modelo de memoria, JVM es la forma de gestionar la memoria de la computadora, sino también cómo dividir estas áreas, después de todo, en los tipos y variables de Java por lo tanto, muy mala gestión.

La tercera parte es la parte más difícil de este libro, que comienza a introducir el principio de la ejecución de código Java, que es poner el código Java se compila en código de bytes antes de que pueda llevar a cabo en el código JVM, Java, mientras que, a su vez, uno por uno clases, por lo que el artículo se describe cómo cargar la máquina virtual JVM estas clases, y hay muchos novedoso concepto, vale la pena explorar.

La optimización de la cuarta parte, de compilación y el código, esta parte es en realidad más popular, pero en realidad es bastante compleja, se menciona un montón JVM optimizada para la ejecución del programa, incluyendo la compilación optimizada y ejecutar la optimización, optimización el propósito es hacer que los programas Java se ejecutan de manera más eficiente, entender esta parte después, que sin duda JVM máquina virtual diseñada para producir reverencia.

La parte quinta se centra en el soporte multihilo JVM de Java, Java multiproceso naturaleza también se basa en la JVM diseñado e implementado, lo que implicará nuestras cerraduras comunes, introduce aquí están sincronizados, es la esencia de exclusión mutua, pero a medida que la JVM optimizado para bloqueo de peso pesado sincronizada, que poco a poco comenzó a apoyar cerraduras ligeras y sesgo de bloqueo.

Se puede decir, son la esencia de todo el libro, básicamente centrado en el examen examen, por supuesto, hay algunos elementos de la más popular, menos afectados por el entrevistador para ser visto. Pero este libro es básicamente la JVM donde tenemos que tener un conocimiento claro, y para el estudio teórico JVM, este libro es suficiente.

JVM combate de sintonía

teoría acabada, y finalmente a la parte del combate.
JVM módulo de conocimiento general que parece ser una teoría parcial de los conocimientos, no mucho parece ser capaz de practicar las cosas, pero, de hecho, ser capaz de practicar aspectos de la JVM puede ser un montón de cosas, tales como la puesta a punto de JVM, el análisis de GC y análisis de la memoria JVM, se entrevista oficial le gusta la capacidad de examinar la práctica.
En la siguiente sección, vamos a decir algo sobre el contenido real de la JVM.

En alguna entrevista avanzada de Java, las preguntas sobre la JVM podrían relacionarse con la sintonización y la práctica de JVM, como usted nunca ha visto antes OOM o una pérdida de memoria, ¿cómo se los encuentra, o, GC con demasiada frecuencia, ¿cómo debemos llevar a cabo la investigación.
En resumen, estas preguntas se basan en la práctica, la práctica es el estudio de la experiencia del candidato, que por lo general han sido por un mantenimiento, e incluso la forma en que el servidor no encontrado amigos, es de hecho un gran reto.

Eso supone que debemos hacer, de hecho, no hay manera, después de todo, soy una JVM sin experiencia práctica blanco, antes de opinión en este sentido principalmente a través de varios métodos.

Encuentra algunas de las más conocidas herramientas de ajuste JVM, trate, como Jprofile, también viene con el JDK jstack jmap y así sucesivamente. Estas herramientas se utilizan para la prueba de su propio programa, escribir unas pocas fugas oom o de memoria, y ver lo que sucede en la herramienta aparecerá, y esta es una buena manera de aprender.

Pero alguien va a decir, se enfrentan a un montón de preguntas son altos y tienen una alta carga o una escena, por lo general su propio código no se enfrentaría a este problema, a continuación, cómo hacerlo, de hecho, hay maneras para que tales sintonía en línea en cuestiones de hecho cara hay una gran cantidad de acción, en una escena determinada forma de sintonizar, cuáles deben ser los pasos, de hecho, se pueden encontrar algunas de las respuestas del artículo de otra persona, por lo que incluso si no trabaja habitualmente este tipo de práctica, usted puede aprender por una excelente sintonía JVM el artículo real para revisión, de hecho, la verdad es la misma.

Recursos recomendados

libros

"Comprensión en profundidad de máquina virtual JVM"

vídeo

He recopilado algunos aspectos del vídeo de aprendizaje JVM para que todos puedan compartir, de hecho, esta zona no es recursos de vídeo mucho, después de todo, la mayoría de vídeo o bases hablar o orientado a los proyectos, sean capaces de dar a conocer a fondo la máquina virtual JVM no habla mucho de la gente buena .

Blog

La tecnología Java almacén "Guía para la evaluación del programador de Java"
https://github.com/h2pl/Java-Tutorial
integración de toda la red de alta calidad de contenido de aprendizaje de Java, que le ayude, desde básico a avanzado revisión sistemática de Java

Guía de entrevistar

Toda la red más caliente Entrevista Java Guías, un total de más de 200 páginas, muy práctico, ya sea para su revisión o preparación de entrevistas son buenas.

resumen

Aprender acerca de cómo la máquina virtual JVM, y conseguir la entrevista preguntas pertinentes, hablamos de otra cosa aquí, y si hay alguna pregunta que también puede ir a la Nº público [programadores] Huang inclinados a explorar dónde encontrarme, seguimiento habrá más artículos lanzados, incluyendo cómo aprender sistemáticamente JavaWeb, así que estad atentos.

Sí, me gustaría preguntarle en libros y artículos mencionados en el video donde encontrar? Me he dado listo

Los recursos mencionados en el texto pueden recibir gratuitamente, en mi No. pública [programadores] Huang respuesta oblicua "Java Programación Concurrente" para recibir gratis los recursos correspondientes.

Escrito en los últimos

Si cree que este artículo útil para usted, usted no significa que su "buen" Ja, círculo de amigos hacia adelante es mi mayor apoyo que, su apoyo es mi mayor estímulo.

Todas las sugerencias y comentarios sobre esta serie de artículos, comentarios también son bienvenidos a decirme, esperamos sus comentarios.

Publicados 293 artículos originales · ganado elogios 1597 · Vistas 1,23 millones +

Supongo que te gusta

Origin blog.csdn.net/a724888/article/details/104932471
Recomendado
Clasificación