Spring, bytecode, JDK: JBreak 2018 top 10 reports



    Habr, hello! Previously, we held a JBreak Java conference in Novosibirsk. In 2019, we decided not to conduct it, but from this JBreak 2018 reports do not cease to be useful, so we traditionally share a selection of the best (according to viewers). Moreover, many speakers in this selection will soon arrive with new reports at the JPoint in Moscow - you can just “get to know” in absentia and see if you want to attend the Moscow conference.

    As usual, the reports go from the “junior” to the “senior” rating, but the differences between the places are small - so it is better not to compare meticulously places, but look at the topics of interest!

    Under the cut video is broken with a table of contents by post content, presentations and short descriptions.
    And for those who don’t have enough top 10 reports and need everything, we have a separate playlist .

    Class data sharing in the HotSpot VM


    Speaker: Volker Simonis
    Location: 10
    Rating: 3.96
    Presentation of the report



    Our selection begins with a detailed report on Class Data Sharing - a feature designed to improve download speeds and reduce the amount of RAM used. It appeared in Java 5, but in recent years, the story has evolved, and in OpenJDK 10, there was an addition in the form of AppCDS. Volker first briefly introduces CDS and AppCDS, explaining what it is and why you need it - and then diving deeper.

    According to the listeners, this is an example of an “exemplary working task” - Volker looked into the JDK source code, laid out the way to achieve results and pitfalls, showed specific figures for RAM usage and speed, and painted everything so that you understand whether to use this technology for their applications.



    We build a crypto trading platform using Spring 5 and Reactor 3


    Speaker: Oleg Dokuka
    Location: 9
    Rating: 4.02
    Presentation of the report



    No, there will not be a mechanism of the blockchain, secrets of rapid enrichment on cryptocurrency and the like. But there will be what is needed for a better understanding of Spring 5 and Reactor 3: an experienced speaker, prepared speech and presentation, a demonstration of modern technology and a practical example (in the form of the simplest crypto-trading platform).

    The approach to the report is as accessible as possible: Oleg asks the basic questions: “What is needed?”, “Why is it needed?”, “How to accomplish this?” Lays out each answer. For example, he explains in detail and simply how to build a Reactive System using the Spring Reactive Stack, why the business needs it, where the Reactive-approach works best and optimally solves complex problems.

    Throughout the report, Oleg understands how Reactor 3 and the reactive Spring 5 help or do not help in solving problems, what new they give.

    Towards a fast multi-threaded hash table


    Speaker: Nikita Koval
    Place: 8
    Rating: 4.04
    Presentation of the report



    Hash tables are the most popular and useful data structure, on the performance of which many components of an application depend. And still productivity depends on a multithreading. What's in Java with hash tables that would use all the features of the modern multi-core world?

    Nikita Koval ( ndkoval ) sees the topic of multithreading from the theoretical side (teaching it at ITMO), and from the practical side (he is involved in Korutin in Kotlin). It is not surprising that the report turned out to be comprehensive: it has both theoretical aspects and practical approaches.



    Side Effect Injection, or Virtuous Crutches


    Speaker: Vladimir Plizga
    Location: 7
    Rating: 4.11
    Presentation of the report



    Have you ever had a chance when (by accident) you sent a piece of code for a test to production? Or inserted a temporary if, for example, with Thread.sleep () or logging for debugging? You are not alone: ​​there are many real-life examples where a test / debugging code often leaves the production, turning it into a time bomb, increasing the technical debt and increasing the spot on the developer's karma.

    In his report, Vladimir Kostya discusses the Side Effect Injection approach, which allows you to embed almost any behavior into the application under test: delays, stubs, logging, security bypass, etc., but do not dirty the repository with dirty hacks or even reassemble the application itself. Such crutches you have not seen :)



    Java bytecode verification: when, how, and can disable?


    Speaker: Nikita Lipsky
    Location: 6
    Rating: 4.13
    Presentation of the report



    To implement these or other tricks that are difficult to express in Java, developers use libraries to generate bytecode in runtime. But you need to very strictly monitor the correctness of bytecode, otherwise VerifyError will pop up when classes are loaded. And what to do in this situation?

    It is necessary to know not only the semantics of bytecode instructions, but also how the verifiers work and what bytecode can be considered correct. Nikita understands what mission in the JVM is the bytecode verifier, when and how it works, whether it can affect the performance of your application and why it is dangerous to disable it.

    As in the paragraph above about another Nikita (Koval), his background is very helpful to the speaker. To understand bytecode, it is useful to work at a level below “normal” Java developers, and Nikita Lipsky ( pjBooms) For many years he has been working on the “Siberian JVM” Excelsior JET, about which we recently interviewed him a lot .




    We balance client requests together with Spring Cloud


    Speaker: Alexander Tarasov
    Location: 5
    Rating: 4.14
    Presentation of the report



    Very “live” report in the sense of live demonstrations of everything that is being said. Alexander goes over the theory of Spring Cloud, and then dives into the analysis of a typical solution to the problem - and then instead of the satiny slides on the screen you can see the IDE with the code, the browser with the graphs from Hystrix.
    In the course of the demo, the internal implementation of client-side query balancing with examples from the official libraries and the author’s own library will be reviewed. You will learn how to balance the load, and with an example you will see why even a very slight increase in load can lead to disastrous consequences, and how this can be avoided.



    Spring Boot Starter - how and why?


    Speaker: Maxim Gorelikov / Kirill Tolkachev ( tolkkv )
    Location: 4
    Rating: 4.16
    Presentation of the report



    Spring is no longer magic (thanks to "The Spring-Ripper" and Evgeny Borisov), but the Spring Boot is often stigmatized with magic crafts. But many people like it, especially for beginners!
    A pair report on why in general within a typical company using Spring Boot, you may need your own starters; how soon the Inquisition comes for newbies, if they are thoughtlessly using ready-made starters and how independent the Spring Boot is and what it means for developers.

    The report is designed for practicing Spring (and better Spring Boot) engineers who have already encountered various difficulties in supporting the weighty infrastructure developed using Spring.



    Who is this tweet about #jbreak?


    Speaker: Victor Gamov
    Location: 3
    Rating: 4.18

    Presentation of the report



    Who knows Victor Gamow gAmUssA (on the podcast "Debriefing" or something else), it is hardly surprising that he turned the serious report about the pipeline data processing system into an interactive show. Victor gave live coding right at the conference to parse the flow of tweets from the conference using modern technologies - Apache Kafka, Kafka Connect and KSQL.

    We all know and love SQL, right? So, KSQL is almost like SQL, only for Kafka. KSQL allows you to create complex systems for processing streaming data, without writing Java or Scala code.



    Smoothie ML with Spark MLlib


    Speaker: Alexey Zinoviev
    Place: 2
    Rating: 4.18
    Presentation of the report



    To work on BigData, we need not only data scientists, tuning parameters of models from packages in R or Python, but also Java developers who are able to understand the built models and implement them in Java / Scala, including using Spark MLlib.

    Alexey, in the simplest formulations, introduces the audience to this most powerful distributed machine learning library, at the same time discussing the features of using standard machine learning algorithms and data structures in Spark. After the report, BigData will become much clearer, you will want to do it yourself and dig in “hands” on your own - tested on listeners.



    Keynout: JDK 9, Mission Accomplished: What next for Java?


    Speaker: Simon Ritter
    Location: 1
    Rating: 4.29
    Presentation of the report



    And most of all, the audience liked the keynout that opened the conference. Now, when a lot of time has passed since JBreak 2018, it may seem terribly outdated in name: there is already JDK 11, what now to remember about the ninth? But if we take into account that it was with the release of the “nine” that the release cycle changed and the new versions began to appear often, then it turns out that it is worth looking at this version: it has become an important watershed, the last truly large-scale update.

    And if you still want something more relevant from Simon, this will be at the JPoint in April: there, from his two reports, one will be devoted to the JDK from 10 to 12 (and the other to type inference).

    Who else from these speakers can be seen in April at the JPoint? At the moment, it is already known that Oleg Dokuka will tell about RSocket, and Nikita Lipsky will tell you how AOT compilation is combined with Spring Boot applications. Nikita Koval will also be, but the topic of the report has not yet been announced.

    In addition, there will be many other reports - and descriptions of some of them can already be read on the site . If you think that you have something to tell - the acceptance of applications for reports closes on January 31, so now is the last chance to make it. It is also worth rushing to purchase tickets : this can be done later, but from February 1, the price will increase.

    Also popular now: