Muchos de nosotros vamos a conferencias de Java solo por el hardcore. Este artículo trata sobre lo que ha cambiado a este respecto a lo largo del año.
Hardcore puede ser de varios tipos. Puede seleccionar al menos:
- optimizaciones de rendimiento en cualquier manifestación;
- aspectos internos de tecnologías bastante complejas (OpenJDK, GraalVM);
- compiladores y tiempos de ejecución en general;
- diseño de lenguaje de programación;
- problemas de informática y matemática aplicada;
- y mucho mas

¿Cuál es la diferencia entre una charla regular y una charla hardcore? Esto es como la diferencia entre un artículo sobre gravedad cuántica y una guía de comida sabrosa y saludable. Preparar Spring correctamente es, por supuesto, una tarea muy difícil e interesante, que para muchos de nosotros es una gran parte de las tareas cotidianas, y, en consecuencia, los informes de Zhenya Borisov son de gran importancia práctica. En términos generales, esta es una manera de convertirse en un mejor especialista y recaudar más dinero. Pero el brillo de las estrellas distantes no está allí.
Por lo tanto, solo hardcore según las leyendas de la vieja escuela. Debajo del corte hay una breve nota sobre cómo se ve todo desde el punto de vista de una persona que está obsesionada con leer artículos, visitar informes y ver videos de YouTube en Java en el sentido amplio de la palabra.
En primer lugar, muchos no van a los informes y no ven videos de desarrolladores de tecnología. Esto, por supuesto, es una basura completa, dado que solo desde allí puedes obtener un hardcore realmente vigoroso. ¡Nadie necesita un hardcore delgado!
Para mí, las principales fuentes de información son listas de correo de varios proyectos de OpenJDK, compromisos con el repositorio, notificaciones en GitHub, tweeters de desarrolladores y proyectos RSS.
Como regla, esta es información en vivo que no está sistematizada de ninguna manera y consume un tiempo increíblemente largo. Para agregar la palabra "eternidad" de las letras "trufa", necesita matar mucho tiempo y energía. Me fui a dormir unas horas, y allí ya estaban numerados:

Por lo tanto, hay personas condenados tan especiales, los autores del centro de Java Hub, que leen todo esto, lo agrupan en unidades de significado y hacen artículos e informes a partir de ellos.
Por otro lado, una vez me familiaricé con las conferencias grupales de JUG.ru y me quedé estancado. Tan atrapado que incluso vino a trabajar. Pronto celebraré el año con la compañía. Toda esta actividad vibrante posterior a la escritura es necesaria para ayudar a transmitir el conocimiento sagrado a más personas. Este es el momento en que todos pueden codificar una aplicación web para ti en primavera, pero no puedes describirla en Habr ... no lo harás tú mismo, nadie lo hará. Mi especialidad son las revisiones de conferencias.
Las conferencias tienen un estilo y gusto especiales. El hablante, forzosamente, debe sistematizar su conocimiento antes de entrar al escenario. El orador debe actualizarlos regularmente, porque nadie necesita un mal informe. El orador debe responder desde el escenario o en el área de discusión de forma rápida y decisiva, de lo contrario, todos lo considerarán un impostor. En resumen, en la conferencia, el orador le debe muchas cosas que le preguntaría en un github, sería enviado al diablo o le daría respuestas durante seis meses.
Hay dos conferencias principales para mí: JVMLS y nuestro Joker . Es decir, hay muchas conferencias en el mundo, pero estas dos son suficientes para que pueda ocuparme el año que viene.
Si todo está claro con JVMLS, entonces Joker es una cosa multifuncional especial que le permite comprender todo sobre el desarrollo de Java. Ella es conocida y amada por el hardcore y el estaño.
Comparemos un poco en el formato que era -> se convirtió.
Tendencias del año saliente
Como saben, el Comité del Programa no formula un programa al azar, sino que se basa en las preferencias de la audiencia y los temas populares. Una conferencia no es un análogo de la documentación o un libro de cocina, es en gran medida una construcción social basada en los intereses de las personas en un momento determinado y en una ubicación geográfica específica. Relativamente hablando, las conferencias de Java en 2014 en India fueron muy diferentes del Joker. Entonces, ¿qué tuvimos en 2017?
Fue un año marcado por el signo de Java 9 con sus módulos y una nueva libertad extraordinaria en sus propias soluciones.
Hasta dos informes sobre el Grial. Talinger con el primer informe sobre el Grial, en el que simplemente se anunció que le transfirieron los servicios de Twitter más importantes, y resultó muy bien. Chris Seaton con un informe detallado sobre cómo funciona todo dentro .
JIT vs AOT de Ionut Balosin de Luxoft y una historia sobre el nuevo JIT en Azul Zing por Arthur Pilipenko.
Lipsky con una charla actualizada sobre módulos en Java 9 . En general, hubo mucha publicidad sobre Java 9 al margen.
Un excelente informe de Nitsan Wakart sobre perfiladores , algoritmos sin bloqueo de Nikita Koval y, por supuesto, un informe de Lyosha Shipilev sobre Shinanda .

Conclusiones : el año pasado, los detalles de la implementación y los módulos de JDK 9 fueron interesantes: todos estaban un poco fuera de contacto con esta revolución silenciosa. Como de costumbre, todos estaban activamente interesados en las entrañas de JIT / AOT, especialmente el GraalVM de código abierto, el nuevo GC (no había ZGC en ese momento, pero sí Shinanda) y, por último, pero no menos importante, un clásico de múltiples subprocesos.
Nuestro tiempo
Primero, ahora vivimos en un mundo en el que Java 9 y Java 10 ya no existen. Hay algunas personas salvajes que ofrecen migrar a JDK 10 primero, por lo que luego será más fácil arrastrarse a 11, pero esto es extraño. Vivimos en un mundo de creciente impulso JDK 11, el tema más comentado en los últimos días: "¿Java será libre?" (Por supuesto, permanecerá, pero no necesariamente en forma de Oracle JDK).
Este año, el hypanul Kotlin más salvaje. Afortunadamente, el Joker no se convirtió en una conferencia sobre Kotlin, aunque, a juzgar por la cantidad de desarrolladores y oradores interesados que tienen algo que contar, podrían hacerlo fácilmente.
En consecuencia, el padre de Kotlin, Andrei Breslav, apareció en el programa con un informe sobre "un día en la vida de un diseñador de idiomas". Es como un Linuxoid que llega al informe de Linus Torvalds, como un javista que llega a Reinhold y Rose. Una encarnación viva del lenguaje, con un informe y una hora de comunicación en el área de discusión.
Recientemente bajé a JetBrains en Vasilyevsky e hicimos una entrevista con Breslav para Habr . Un poco antes, Andrei hizo un informe en el festival TechTrain que organizamos, por lo que si quedan preguntas después del festival, hay una segunda oportunidad para hacerlas.

Los compiladores y tiempos de ejecución personalizados todavía están aquí. Pronto publicaremos una entrevista sobre Habré con oradores del futuro Joker: Nikita Lipsky e Ivan Uglyansky. En esta conversación bastante grande, descubrimos qué es ExcelsiorJET y qué es interesante en "un día del trabajo del ingeniero de JVM". En realidad, se me ocurrió esta pregunta precisamente como complemento de la solicitud para el informe de Breslav.
¿Qué habrá en los informes de Nikita e Ivan? Nikita habla sobre Jigsaw Layers e Ivan sobre el interior del GC. Para aquellos que no están familiarizados con ellos: estos son desarrolladores de Excelsior que realmente escriben código para su propia implementación de Java y tienen un conocimiento experto súper profundo en esta área. ExcelsiorJET, por cierto, tiene una versión gratuita; si nunca lo ha probado, le recomiendo descargarlo y evaluarlo. Recientemente, el compilador de Kotlin se dirige a él. Ambos informes están en la misma cuarta sala, pero en días diferentes.

Andrey, Nikita e Ivan son nuestros compatriotas que trabajan a la vanguardia de las tecnologías modernas de tiempo de ejecución, que vienen a Joker con sus informes. Pero nuestros otros compatriotas estarán allí, desde la misma línea del frente, pero con una cabina en el área de exhibición en lugar de un informe. Me gustaría mencionar por separado a Alexander Belokrylov con colegas de BellSoft que hacen Liberica (distribución de OpenJDK para Raspberry Pi). También preparamos una gran entrevista con ellos, que se lanzará en un futuro próximo.
Misterio del cuarto salón, día uno
En general, preste atención a la cuarta columna del programa Joker : ¡hay una lata! Si va a todos los informes a la vez, puede fundirse sin fusión.
Si el año pasado todos tuvieron suficiente exageración y horror sobre el JDK 9 y los módulos, entonces la infraestructura se ha calmado un poco y se ha vuelto interesante: aquí estamos atormentados, atormentados, sobrevivimos a todas las pruebas y ¿qué tipo de nishtyaki obtendremos para esto?
Lo primero que quiere obtener un programador de aplicaciones es algo de nishtyaki en sintaxis y bibliotecas. Y luego llega el informe de Tagir Valeev sobre la coincidencia de patrones , que todos hemos estado esperando durante años. Nikolai Parlog tendrá una revisión de Java 11 , incluida la palabra clave var
y todo tipo de chips en las bibliotecas.

Además, el discurso del primer día va a las capas de rompecabezas de Nikita Lipsky. La última vez, les recuerdo, hubo un informe inusual sobre el hecho de que OSGi tiene problemas reales, lo que causó mucha controversia. Quizás esta vez Nikita te dirá qué hacer.
Y aquí entra el insidioso cuarto salón con cartas de triunfo: Pangin con encantadores puntos sobre por qué Java come memoria. Sí, sí, y memoria nativa también. Desafortunadamente, no se pueden hacer comentarios aquí, porque Pangin tiene todos los informes individuales y profundos.
Y justo después de él, Mark Hoffman hablará sobre cómo se tuerce el tiempo de ejecución para implementar todas las características que amamos en las nuevas versiones de Java. Esta es una muy buena conclusión para el día, porque en un informe se fusionan dos temas a la vez: ambos nishtyaks en el idioma y el compartimento del motor.
Hall Four ataca de nuevo
Si el primer día, tres de cada cinco informes se referían a versiones nuevas de Java (o cuatro, dependiendo de cómo cuente), entonces, el segundo día, 4 informes se etiquetan con #vm
, y el quinto acerca de perfiles precisos utilizando el nuevo hardware Intel.
Comencemos desde el final: el último informe lo realiza Sergey Melnikov de Raiffeisenbank. Volviendo a nuestra comparación con el año pasado, esta es una continuación del informe anterior con JPoint. Se recomienda ver la parte anterior, el video está disponible aquí. Esta vez estaremos más inmersos en Intel Processor Trace.
El segundo informe de perfil es del propio Marcus Hirt , el creador de Appeal Virtual Machines, quien desarrolló el JRockit JVM. Por lo que entendí de la descripción (no le pregunté a la PC), el informe tratará sobre muchas herramientas diferentes como JCMD, JMX, JVMTI, JPLIS, HPROF, JFR, JMC y cómo resolver problemas reales de creación de perfiles JVM con este constructor.
Aquí tienes una foto muy antigua, como si recuerdas:

Dos informes directamente sobre el tiempo de ejecución: de Oleg Shelaev y Grigory Koshelev.
Oleg Shelaev es el único evangelista oficial de GraalVM en el mundo. Bueno, sí, hay muchos desarrolladores, y Oleg es uno. Por lo tanto, vendrá casi con el tema más agudo del mundo GraalVM: con el dispositivo y el funcionamiento de SubstrateVM. Cada año tiene su propio tema: si en 2017 para el éxito del informe fue suficiente simplemente declarar la existencia de GraalVM, ahora la gente ha leído muchas noticias exageradas, comenzó a tratar de usarlo y se encontró con una serie de problemas. Parece que lo mejor aquí no es el informe en sí, sino la oportunidad de atrapar a Oleg en el área de discusión, tomar todo lo que dijo y hacer preguntas aclaratorias.

Por cierto, ya puedes hacer preguntas en nuestra sala de chat @graalvm_ru en Telegram (incluso a veces se responden).
Si GraalVM le permite ejecutar idiomas no JVM por su cuenta, entonces un informe de Grigory Koshelev revela un mundo especial de integración de .NET y JVM sin ningún Grial. ¿Qué te parece eso, Elon Musk?
Y, por supuesto, hay un informe de Ivan Uglyansky , que ya hemos mencionado antes. El informe es único porque trata sobre GC, pero también tiene un significado práctico. De acuerdo, por lo general, los informes sobre el GC son una especie de astronáutica, que es interesante escuchar (si es Shipilev), o puede quedarse dormido en el medio (no señalaremos con el dedo). Aquí nos centraremos no en el algoritmo GC abstracto, sino en los requisitos del estándar y cómo se implementa realmente.
¿Hay más hardcore?
Por supuesto que los hay. "Jlink and Custom Runtime Image" de Yuri Artamonov se puede clasificar fácilmente como informes sobre tiempos de ejecución modernos, " Maxim Kazantsev de Azul Systems también tiene " Fuzzing for JVM testing " . Tienes que entender que Joker es básicamente hardcore, e incluso la charla de Josh Long sobre Reactive Spring no es tan simple como parece.
Queda menos de un mes antes del Joker, pero todavía trato de asignar tiempo y revisar el resto del programa en publicaciones separadas.
En conclusión, solo puedo aconsejarle que vea el programa completo usted mismo y, si lo desea, compre boletos , porque lentamente se están volviendo más caros. Ya es hora, sí.
