Frühling, Bytecode, JDK: Top 10 Berichte von JBreak 2018



Habr, hallo! Zuvor hatten wir die Java-Konferenz JBreak in Nowosibirsk abgehalten. Im Jahr 2019 haben sie beschlossen, es nicht zu halten, aber aus diesem Grund hören die JBreak 2018-Berichte nicht auf, nützlich zu sein, sodass wir traditionell eine Auswahl der Besten teilen (je nach Publikum). Darüber hinaus werden viele Redner dieser Sammlung bald mit neuen Berichten in Moskau bei JPoint eintreffen - Sie können sich einfach mit ihnen „in Abwesenheit“ treffen und verstehen, ob Sie an einer Moskauer Konferenz teilnehmen möchten.

Wie üblich gehen die Berichte in der Bewertung von "Junior" zu "Senior", aber die Unterschiede zwischen den Orten sind gering - daher ist es besser, die Orte nicht sorgfältig zu vergleichen, sondern alles zu interessanten Themen zu sehen!

In der Zwischensequenz werden Videos mit einem Inhaltsverzeichnis nach dem Inhalt des Beitrags, Präsentationen und Kurzbeschreibungen aufgeschlüsselt.
Und für diejenigen, die nicht die besten 10 Berichte haben und alles brauchen, haben wir eine separate Wiedergabeliste .

Klassendatenfreigabe in der HotSpot-VM


Sprecher: Volker Simonis
Ort: 10
Bewertung: 3.96
Präsentation präsentieren



Unsere Auswahl beginnt mit einem detaillierten Bericht über die gemeinsame Nutzung von Klassendaten, eine Funktion zur Verbesserung der Download-Geschwindigkeit und zur Reduzierung des verwendeten Arbeitsspeichers. Es erschien in Java 5, aber in den letzten Jahren hat sich die Geschichte entwickelt, und in OpenJDK 10 gab es eine Ergänzung in Form von AppCDS. Volker stellt zunächst kurz CDS und AppCDS vor, erklärt, was es ist und warum, und taucht dann tiefer ein.

Laut Publikum ist dies ein Beispiel für eine „beispielhafte Arbeitsaufgabe“ - Volker hat sich die JDK-Quellen angesehen, herausgefunden, wie das Ergebnis und die Fallstricke erzielt werden können, bestimmte Zahlen zur RAM-Nutzung und -Geschwindigkeit angezeigt und alles so dargestellt, dass Sie verstehen, ob es sich lohnt, es zu verwenden diese Technologie für ihre Anwendungen.



Aufbau einer Krypto-Handelsplattform mit Spring 5 und Reactor 3


Sprecher: Oleg Dokuka
Ort: 9
Bewertung: 4.02
Präsentation präsentieren



Nein, es wird keinen Mechanismus für den Betrieb der Blockchain geben, Geheimnisse der schnellen Anreicherung der Kryptowährung und dergleichen. Für ein besseres Verständnis von Spring 5 und Reactor 3 ist jedoch etwas erforderlich: ein erfahrener Redner, eine vorbereitete Rede und Präsentation, eine Demonstration moderner Technologie und ein praktisches Beispiel (in Form der sehr einfachen Cryptotrading-Plattform).

Der Ansatz für den Bericht ist so zugänglich wie möglich: Oleg stellt die grundlegenden Fragen: "Was wird benötigt?", "Warum wird dies benötigt?", "Wie wird dies umgesetzt?" Regale jede Antwort. Zum Beispiel erklärt er ausführlich und einfach, wie ein reaktives System mit dem Spring Reactive Stack aufgebaut wird, warum das Unternehmen es benötigt, wo der reaktive Ansatz am besten funktioniert und komplexe Probleme optimal löst.

Im gesamten Bericht versteht Oleg, wie Reaktor 3 und reaktiver Frühling 5 helfen oder nicht helfen, Probleme zu lösen. Was ist neu?

Auf dem Weg zu einer schnellen Multithread-Hash-Tabelle


Sprecher: Nikita Koval
Ort: 8
Bewertung: 4.04
Präsentation präsentieren



Hash-Tabellen sind die beliebteste und nützlichste Datenstruktur, von deren Leistung viele Anwendungskomponenten abhängen. Die Leistung hängt auch vom Multithreading ab. Was ist in Java mit Hash-Tabellen, die die moderne Multi-Core-Welt voll ausnutzen?

Nikita Koval ( ndkoval ) sieht das Thema Multithreading sowohl von der theoretischen Seite (Unterricht an der ITMO) als auch von der praktischen Seite (er ist an den Coroutinen bei Kotlin beteiligt). Es überrascht nicht, dass sich der Bericht als umfassend herausstellte: Er hat sowohl theoretische Aspekte als auch praktische Ansätze.



Nebenwirkungsinjektion oder tugendhafte Krücken


Sprecher: Vladimir Plizga
Ort: 7
Bewertung: 4.11
Präsentation präsentieren



Haben Sie jemals Fälle gehabt, in denen sie zufällig (oder nicht) einen Code für den Test an die Produktion geschickt haben? Oder ein temporäres eingefügt, wenn zum Beispiel mit Thread.sleep () oder Protokollierung zum Debuggen? Sie sind nicht allein: Es gibt viele echte Beispiele, bei denen ein Test- / Debugging-Code häufig zur Produktion übergeht, sich dort in eine Zeitbombe verwandelt, gleichzeitig die technische Verschuldung erhöht und das Karma des Entwicklers verstärkt.

In dem Bericht zerlegt Vladimir den Side Effect Injection-Ansatz, der es ermöglicht, nahezu jedes Verhalten in die Testanwendung einzuführen: Verzögerungen, Stubs, Protokollierung, Sicherheitsumgehung usw., aber gleichzeitig das Repository nicht mit schmutzigen Hacks zu verschmutzen und die Anwendung selbst nicht neu zu erstellen. Du hast solche Krücken nicht gesehen :)



Java-Bytecode-Überprüfung: Wann, wie und kann deaktiviert werden?


Sprecher: Nikita Lipsky
Ort: 6
Bewertung: 4.13
Präsentation präsentieren



Um bestimmte Tricks zu implementieren, die in Java schwer auszudrücken sind, verwenden Entwickler Bibliotheken, um zur Laufzeit Bytecode zu generieren. Sie müssen jedoch die Richtigkeit des Bytecodes streng überwachen, da sonst beim Laden der Klassen VerifyError angezeigt wird. Und was tun in einer solchen Situation?

Sie müssen nicht nur die Semantik der Bytecode-Anweisungen kennen, sondern auch, wie die Verifizierer funktionieren und welcher Bytecode als korrekt angesehen werden kann. Nikita weiß, welche Mission die JVM mit dem Bytecode-Verifizierer ausführt, wann und wie sie funktioniert, ob sie die Leistung Ihrer Anwendung beeinträchtigen kann und warum es gefährlich ist, sie zu deaktivieren.

Wie im obigen Absatz über einen anderen Nikita (Koval) ist der Sprecher hier in seinem Hintergrund sehr hilfreich. Um den Bytecode zu verstehen, ist es nützlich, auf einem niedrigeren Niveau als die „üblichen“ Java-Entwickler zu arbeiten, und Nikita Lipsky ( pjBooms ) beschäftigt sich seit vielen Jahren mit dem Excelsior JET „Sibirische JVM“, über das wir ihn kürzlich viel interviewt haben.




Ausgleichen von Clientanforderungen mit Spring Cloud


Sprecher: Alexander Tarasov
Ort: 5
Bewertung: 4.14
Präsentation präsentieren



Ein sehr "lebender" Bericht im Sinne einer Live-Demonstration von allem, was gesagt wird. Alexander geht die Spring Cloud-Theorie durch und taucht dann in eine typische Lösung des Problems ein - und dann werden anstelle von statischen Folien entweder eine IDE mit einem Code oder ein Browser mit Diagrammen von Hystrix ständig auf dem Bildschirm angezeigt.
Im Verlauf der Demo wird die interne Implementierung des Client-Balancing von Anfragen mit Beispielen aus offiziellen Bibliotheken und der eigenen Bibliothek des Autors berücksichtigt. Sie lernen, wie Sie die Last ausgleichen können, und anhand eines Beispiels werden Sie sehen, warum bereits eine geringfügige Erhöhung der Last katastrophale Folgen haben kann und wie dies vermieden werden kann.



Spring Boot Starter - wie und warum?


Referent: Maxim Gorelikov / Kirill Tolkachev ( tolkkv )
Ort: 4
Bewertung: 4.16
Präsentation präsentieren



Frühling ist keine Magie mehr (dank des "Spring Ripper" und Jewgeni Borisows), aber der Frühlingsstiefel wird oft mit magischem Handwerk stigmatisiert. Aber viele Leute mögen es, besonders für Anfänger!
Ein Paar berichtet, warum Sie im Rahmen eines typischen Unternehmens, das Spring Boot verwendet, im Allgemeinen möglicherweise Ihre eigenen Starter benötigen. Wie schnell kommt die Inquisition für Neulinge, wenn sie gedankenlos fertige Starter verwenden und wie unabhängig Spring Boot ist und was dies für Entwickler bedeutet.

Der Bericht richtet sich an praktizierende Spring- (und vorzugsweise Spring Boot-) Ingenieure, die bereits auf verschiedene Schwierigkeiten bei der Unterstützung der mit Spring entwickelten schweren Infrastruktur gestoßen sind.



Wer ist dieser Tweet über #jbreak?


Sprecher: Victor Gamov
Ort: 3
Bewertung: 4.18

Präsentation präsentieren



Wer Victor Gamov gAmUssA kennt (aus dem Parsing Flight Podcast oder etwas anderem), ist es nicht verwunderlich, dass er einen seriösen Bericht über Pipeline-Datenverarbeitungssysteme in eine interaktive Show verwandelt hat. Victor arrangierte direkt auf der Konferenz Live-Codierung, um den Strom von Tweets von der Konferenz mithilfe modischer Technologien zu analysieren - Apache Kafka, Kafka Connect und KSQL.

Wir alle kennen und lieben SQL, oder? KSQL ist also fast wie SQL, nur für Kafka. Mit KSQL können Sie komplexe Streaming-Verarbeitungssysteme erstellen, ohne Java- oder Scala-Code schreiben zu müssen.



Smoothie ML mit Spark MLlib


Sprecher: Alexey Zinoviev
Ort: 2
Bewertung: 4.18
Präsentation präsentieren



Um an BigData arbeiten zu können, müssen nicht nur Datenwissenschaftler die Parameter von Modellen aus Paketen in R oder Python optimieren, sondern auch Java-Entwickler, die die erstellten Modelle verstehen und in Java / Scala implementieren können, einschließlich der Verwendung von Spark MLlib.

Alexei führt das Publikum in die leistungsstärkste Bibliothek des verteilten maschinellen Lernens in möglichst einfachen Formulierungen ein und diskutiert gleichzeitig die Funktionen der Verwendung von Standardalgorithmen und Datenstrukturen für maschinelles Lernen in Spark. Nach dem Bericht wird BigData viel klarer, Sie werden es tun und selbst in die „Stifte“ graben wollen - getestet an Hörern.



Keynote: JDK 9, Mission erfüllt: Was kommt als nächstes für Java?


Sprecher: Simon Ritter
Ort: 1
Bewertung: 4.29
Präsentation präsentieren



Und vor allem gefiel dem Publikum die Keynote, mit der die Konferenz eröffnet wurde. Nun, wenn seit JBreak 2018 bereits viel Zeit vergangen ist, scheint es namentlich furchtbar veraltet zu sein: Es gibt bereits JDK 11, woran sollte man sich jetzt beim neunten erinnern? Wenn Sie jedoch bedenken, dass sich mit der Veröffentlichung der Nine der Veröffentlichungszyklus geändert hat und häufig neue Versionen veröffentlicht wurden, stellt sich heraus, dass es sinnvoll ist, auf diese Version zurückzublicken: Sie wurde zu einer wichtigen „Wasserscheide“, dem letzten wirklich umfangreichen Update.

Und wenn Sie noch etwas relevanteres von Simon wollen, wird dies im April bei JPoint sein: Von zwei seiner Berichte wird einer JDK von 10 bis 12 gewidmet sein (und der andere der Typinferenz).

Welcher dieser Sprecher ist im April in JPoint zu sehen? Im Moment ist bereits bekannt, dass Oleg Dokuka über RSocket sprechen wird, und Nikita Lipsky wird erzählen, wie die AOT-Kompilierung mit Spring Boot-Anwendungen kombiniert wird . Nikita Koval wird es auch sein, aber das Thema des Berichts wurde noch nicht angekündigt.

Darüber hinaus wird es viele andere Berichte geben - und Beschreibungen einiger davon können bereits auf der Website gelesen werden . Wenn Sie der Meinung sind, dass Sie etwas zu erzählen haben, endet die Annahme von Bewerbungen für Berichte am 31. Januar. Jetzt ist die letzte Chance, rechtzeitig zu sein. Es lohnt sich auch, schnell Tickets zu kaufen : Dies kann später erfolgen, aber ab dem 1. Februar steigt der Preis.

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


All Articles