Wie erinnern wir uns an die letzte JokerConf?

Letzte Woche fand in St. Petersburg die internationale Java-Konferenz Joker statt. Wir haben unsere Jungs, die sie besucht haben, gebeten, ihrer Meinung nach ein wenig über die Organisation und die interessantesten Auftritte zu erzählen. Jemand bemerkte den größten Hype und Spaß, jemand - den relevantesten und nützlichsten. Lesen Sie jedoch aus erster Hand darüber.



In diesem Jahr gab es deutlich mehr Besucher und Sponsorenstände, was zu geringfügigen Staus in den Korridoren, im Ausstellungsbereich und beim Abendessen führte.

Die Berichte wurden wie üblich in 4 Streams plus 2 Mini-Streams an den Demo-Ständen im Ausstellungsbereich gehalten. Mindestens ein interessanter Bericht war schon immer in diesem Schema enthalten. Zwischen den Reden können Sie mit dem Redner im Diskussionsbereich sprechen oder Mini-Präsentationen an Demo-Ständen anhören.

Und nun zu den Berichten selbst und warum überhaupt zu Konferenzen gehen.



Andrey Gromov rjhdby ,
FunCorp Backend Entwickler

Ein Ausflug zur Konferenz ist für mich eine Gelegenheit, aus dem alltäglichen Kontext herauszukommen. Um vertraute Dinge aus anderen Blickwinkeln zu betrachten und um unbekannte Dinge zu betrachten, schauen Sie einfach. Und das Wichtigste, was von der Konferenz mitgebracht wird, sind geschriebene Seiten in einem Notizbuch. Natürlich nicht mit einer Zusammenfassung der Berichte, sondern mit Gedanken, die beim Anhören entstanden sind.

Unter diesem Gesichtspunkt wurde Jocker 2019 für mich im Zeichen von JNI und im Inneren einer virtuellen Maschine bestanden.

Drei Berichte erregten das größte Interesse, ohne Baruch, der uns über die Buchhaltungsberichte eines Zeltes mit Döner berichten konnte, damit Sie sich nicht losreißen.

  • Klippenklick. Das Meer der Knoten und der HotSpot JIT

Ein wunderbarer Bericht über die interne Küche HotSpot C2 JIT von einer Person, die dies wirklich besser versteht als fast jeder andere.

Es ist unwahrscheinlich, dass dieses Wissen meine Arbeit beeinflusst, aber eine halbe Seite in einem Notizbuch wurde mit Notizen ergänzt, die mit "Lesen" und "Ansatz kann in XXX angewendet werden" gekennzeichnet sind, was cool ist.

  • Ionut Balosin. Ein Rennen zweier Compiler: GraalVM JIT gegen HotSpot JIT C2

Jonuts sprach über einige wichtige Unterschiede bei der Implementierung dieser beiden Compiler und deren Auswirkungen auf die Leistung bei bestimmten Arten von Aufgaben. Auf den ersten Blick scheint der Bericht einfach zu sein: Nun, da habe ich ihn genommen und anprobiert, aber dies ist nur auf den ersten Blick so, bis Sie sich mit den Details dessen befassen, was erzählt und gezeigt wurde. Und dann kommt das Verständnis des Arbeitsaufwands des Sprechers, um uns diese „einfachen Grafiken“ zu zeigen.

  • Dmitry Pisklov. Microservices, die für einige Mikrosekunden verantwortlich sind - Freunde und Feinde

Blut, Eingeweide - alles wie ich liebe. Diese Person wird Ihnen den falschen Weg beibringen, die falschen, aber platzsparenden Microservices zu machen. Ich vermute, dass ich nach diesem Bericht viele Stühle durch verbrannte Polster ersetzen musste.
Hier und über unsichere und über mmap und über das Optimieren von Kernelparametern und über Ihren Netzwerkstapel und über alles andere unter dem Motto "Leistung an vorderster Front"!

Evgeny Zakharov nerumb ,
FunCorp Backend Entwickler

  • Sergey Kuksenko. Benötigt Java "Inline" -Typen? Der engere Blick des Performance Engineers auf das Valhalla-Projekt

Ein interessanter Bericht eines Ingenieurs von Oracle, der interne Details der Arbeit an Valhalla mitteilte. Ich hatte Fragen, warum Valhalla nicht so lange nach Java kam, und es war dieser Bericht, der viele von ihnen beantwortete.

Werttypen sind in Java nicht so einfach zu implementieren, und Sie müssen buchstäblich Einheiten von "Bytes" sparen. Sergey sprach über einige Tricks, die sie ausführen mussten, um die Struktur des Speicherns von Objekten in Java nicht zu ändern und alle erforderlichen Informationen darin zu speichern. Besonders überraschend war, dass Valhalla Java nicht nur schneller macht, sondern auch negative Folgen hat. Es ist notwendig, den vorhandenen Code mit Werttypen zu komplizieren, und in einigen Situationen wird eine leichte Verschlechterung der Leistung erzielt (obwohl dies laut Sergey derzeit in den negativsten Szenarien nicht mehr als 10% sind). Die aktive Arbeit ist jedoch noch im Gange und wir hoffen, dass das Oracle-Team die negativen Szenarien optimieren und Valhalla schließlich in Java übersetzen kann.

Als Bonus bat Sergey alle, die Valhalla ausprobieren möchten (es wird bald in der OpenJDK-Assembly verfügbar sein, wenn das Flag aktiviert ist) und seine Arbeit an den Skripten zu überprüfen. Es ist sehr ratsam, das Entwicklungsteam gegebenenfalls über die starke Verschlechterung der Produktivität zu informieren.

  • Tagir Valeev. Java 9-14: Kleine Optimierungen

Wie immer ein interessanter Bericht von Tagir, der nicht vorgestellt werden muss. Es gab viele interessante Dinge über die internen Verbesserungen, die gerade mit dem Upgrade auf die neue Version von Java verfügbar werden. Tagir gab viele Beispiele an, darunter die denkwürdigsten abs , die anscheinend nirgends weiter optimiert werden konnten. Die Methodenimplementierung selbst bestand nur aus einer Codezeile. Diese Methode wurde jedoch auch beschleunigt, indem sie zu einer intrinsic Methode gemacht wurde. Es gab viele andere Beispiele, bei denen ein einfaches Upgrade auf die nächste Java-Version die Geschwindigkeit erhöht, manchmal sogar um mehrere Größenordnungen, wie bei demselben hypot . Ich rate Ihnen, die Aufzeichnung des Berichts auf jeden Fall für diejenigen zu sehen, die sie noch nicht gesehen haben.

Oleg Zolotarev OlegXxl ,
FunCorp Backend Entwickler

  • Jürgen Hoeller & Josh Long. Reaktive Feder überarbeitet

Josh "hat" die ganze Rede "geglüht", während der Bericht selbst sehr gut über Reactive in buchstäblich allen seinen Erscheinungsformen in der neuesten Version von Spring berichtet. Sie sprachen auch über die Integration mit RSocket (wussten Sie, dass der Federstarter in der stabilen Version zum ersten Mal eine instabile Abhängigkeit verwendet?). Natürlich können diese Informationen auch aus offiziellen Handbüchern bezogen werden, aber hier waren sie aus erster Hand und in aggregierter Form.



  • Baruch Sadogursky. DevOps für Entwickler (oder gegen sie ?!)

Baruch riss die Decke in der Schlussrede des ersten Tages ab, und er machte es ganz gut! In diesem Bericht erfahren Sie, wie und woraus die DevOps-Ideologie hervorgegangen ist, die als einzige ihre „Schnittstelle“ implementiert. Es war interessant zu erfahren, was wirklich der „beste Code“ (sein DoD) ist und was Software-Handwerkskunst und DevOps gemeinsam haben.

Leider war die Abschlussrede des zweiten Tages nicht so "brennbar" wie letztes Jahr, als Dr. Kurpatov sprach, und die Diskussion über diese Rede in den Chatrooms dauerte einen weiteren Monat.

Wir gehen dafür jedoch nicht zur Konferenz, aber im Übrigen war es ein Erfolg.

Vielen Dank an alle Organisatoren und Referenten! Wir sehen uns bei den nächsten Konferenzen!

Source: https://habr.com/ru/post/de473854/


All Articles