Review of reports of the conference JPoint 2014


    As many Javakhabers know, in 10 days the JPoint conference will be held in Moscow, which will bring together more than 800 Java developers from Russia and the near abroad. All reports are in Russian. At first, we thought, as usual, to dilute the conference with several English-speaking speakers, but in the end we decided to abandon this idea, because without that we managed to gather experts in almost all areas of interest to us.

    I already published FAQ on a conference on a habr one and a half months ago. Now is the time to go through the reports and master classes of the conference and see what awaits us.

    All conference reports can be divided into three categories:
    • Applied
    • First-hand
    • Brain explosion


    Java 8: Advanced Stream Techniques

    Speaker: Sergey Kuksenko, Oracle
    Category: Brain Explosion
    Level of training: high

    Probably, almost all Java developers have already heard (and someone tried) about the new Java 8 and its cool feature “Stream API”. The talk will be about why the Stream API in Java 8 turned out to be what it is. Listeners will learn how to create their own Streams, as well as use existing ones more efficiently.

    Crash Dump - Black Box of the Fallen JVM

    Speaker: Andrei Pangin, Classmates
    Category: Brain Explosion
    Level of Training: High

    The report will talk about what is encrypted in the JVM crash dump and how this information can be used to analyze the problem and find the cause. Situations in which the JVM may break down will be considered, and in a live demo, examples of real crashes that occurred during the development of highly loaded applications will be analyzed.

    Akka framework and its use in Yandex

    Speaker: Vadim Tsesko, Yandex.
    Category: Applied.
    Level of training: high.

    The report will examine the model of actors using the example of Akka / Scala and the experience of its application in services already launched or still being developed in Yandex. We will talk about tasks, architectures, decisions made (and rejected), advantages and disadvantages, as well as rake laid out in places and workarounds for them.

    Java Benchmarking: how to write two timestamps!

    Speaker: Alexey Shipilev, Oracle
    Category: Brain Explosion
    Level of training: high

    The talk will focus on how they examine application performance using benchmarks, what common errors occur, how to deal with them, and how to get at least some useful data about a world where everything depends on everything . The thread of the talk is Java Microbenchmark Harness (JMH), the standard Harness for writing and researching benchmarks in OpenJDK / OracleJDK.

    Theoretical minimum for understanding Java Memory Model

    Speaker: Roman Elizarov, Devexperts
    Category: Brain Explosion
    Level of training: high The

    report is designed to fill an unfortunate gap in the modern education system of programmers, which so far has not adapted to the realities of the modern multi-threaded world. There will be a minimum of practice and a maximum of theory: definitions, concepts, theorems. After listening to this report, all the terms that are mentioned in chapter 17 of the Java language specification will gain a clear and complete meaning for listeners.

    Java multithreading under the hood

    Speaker: Gleb Smirnov, Deutsche Bank
    Category: Brain Explosion
    Level of Training: High

    Understanding the Java Memory Model (JMM) is important, but not enough. You also need to know how this model is arranged and why. The report will consist of a brief theoretical description of JMM, and then decisively proceed to dismember OpenJDK in live demo mode. It will be examined how volatile variables and synchronized blocks are implemented. Listeners will learn what membar is and why everyone loves x86 so much.

    Java 8 and JVM: what's new in HotSpot?

    Speaker: Vladimir Ivanov, Oracle
    Category: First-hand
    Training Level: High

    The talk will focus on innovations in the HotSpot JVM in Java 8: support for default methods, abandoning PermGen, and others that are simpler, but no less useful, improvements.

    Java Embedded at Your Home

    Speakers: Alexander Belokrylov and Alexander Mironenko, Oracle
    Category: First-hand
    Level of training of students: any

    From the report, students will learn:
    • What versions of Java are intended for use on embedded devices;
    • What is the difference;
    • what platforms are supported;
    • how Java works on ARM architecture;
    • how to use Java to manage devices with UART, I2C, SPI interfaces;
    • how to write a relay control code in 5 minutes, deploy the application to the Raspberry Pi microcomputer and launch directly without leaving the IDE.

    Trade-offs, or How Programming Languages ​​Are Designed

    Speaker: Andrei Breslav, JetBrains
    Category: First-hand
    Training Level: Any

    Report is about trade-offs in developing programming languages: why language developers do it anyway. We’ll take a look at a few typical examples regarding Kotlin, Java, Scala, and C #, which will provide some insight into how languages ​​are designed.

    Barefoot Hibernate Rake

    Speaker: Nikolay Alimekov, XPInjection
    Category: Applied
    Level of Training: Any

    Hibernate is far from universal and a rake is scattered everywhere, even by experienced developers. The report will discuss both Hibernate problems and how to solve them, bypass or isolate them.

    Heap off you go

    Speaker: Nikita Salnikov-Tarnovsky, Plumbr
    Category: Brain Explosion
    Level of Training: High

    Automatic memory management and garbage collection are one of the biggest advantages of JVM compared to previous platforms. They come at a price: the overhead of the garbage collector and the application shutdowns it causes. However, these costs can be avoided if you take the responsibility for managing memory back into your own hands. The report will talk about what “out of hip” means for a Java developer and how to use this technique to speed up your application.

    Sandbox Escape. Java Zero Day Vulnerabilities

    Speaker: Mikhail Dudarev, Licel
    Category: first-hand
    Level of training of students: any

    The talk will cover the hottest topics from the field of security in Java:
    • Java Security Architecture - Sandboxes and Policies. How the security model is implemented and for whom it is applied.
    • Vulnerabilities of zero day 2012-2013. An overview of the most significant threats and how to exploit them in the JRE.
    • Java malware under the microscope. Analysis of the most popular malware using Java vulnerabilities.
    • Closing holes and building bastions. How Java developers confront current threats and prevent new security threats.

    Java compiler and IDE: mutually beneficial collaboration

    Speaker: Nikolay Chashnikov, JetBrains
    Category: first-hand
    Level of training: any

    The report will tell how modern IDEs optimize the compilation process to get results instantly even for large projects. Features of javac which at the same time have to be overcome will be described. In addition, issues of interaction between the IDE and the compiler will be considered.

    Compiler-level meta programming in Groovy

    Speaker: Baruch Sadogusky, JFrog
    Category: Brain Explosion
    Level of training: high

    Report on the extensibility of the Groovy compiler and how you can change the compilation process to your needs by manipulating the abstract syntax tree. Groovy syntax mutations will be discussed using the Grails, Griffon, and Spock frameworks.

    Garbage collection, battle algorithms

    Speaker: Aleksey Ragozin, Deutsche Bank
    Category: Brain Explosion
    Level of training for students: any

    The report will analyze the entire internal kitchen of garbage collector algorithms: write barriers, memory organization, phases of the algorithms, parallel processing. He wonders what makes Mark Sweep Compact different from each other, its parallel version, Concurrent Mark Sweep (CMS), Garbage First (G1) and the new Shenandoah.

    Choosing Technologies for an Enterprise Application

    Speaker: Konstantin Krivopustov, Haulmont
    Category: applied.
    Level of training of students: any.

    The first part of the report will discuss why the speaker uses OpenJPA and not Hibernate. In the second part, we will talk about five years of experience using the Vaadin framework for implementing the user interface.

    Spring the ripper

    Speaker: Evgeny Borisov
    Category: applied
    Level of training of students: any

    Several questions about Spring will be discussed in the report (with examples for each):
    • How much does Spring affect the performance of your program?
    • What is included in the life cycle of spring?
    • How is ApplicationContext arranged?
    • “This can't be done on Spring” - or maybe it can?


    We will have five trainings:
    • Designing sound architecture, Evgeny Krivosheev
    • Java Mission Control, Dmitry Chuyko
    • Groovy - younger brother of Java on substances, Baruch Sadogus
    • Spring for Seniors, Evgeny Borisov
    • Where memory flows, Nikita Salnikov-Tarnovsky

    Since training with us is not cheap, I removed them under a spoiler. To whom it is interesting - open and read.

    Training Overview
    Designing sound architecture

    Trainer: Eugene Krivosheev, SkillTrek
    Level of training: high
    Notebook: not needed

    What should I do if the recommendations in the books contradict each other and are sometimes not feasible? How to maintain design quality in the face of continuous change? How to solve problems with minimal effort, while bringing maximum benefit to yourself and the company? How to enjoy development without tripping over technical debt?

    Java mission control

    Trainer: Dmitry Chuyko, Oracle
    Level of training: any
    Notebook: needed

    During the lesson, students will learn the ideology and basics of using Java Flight Recorder (JFR) and Java Mission Control (JMC), and also features available in the latest version of the JDK. JFR is a black box that discreetly records what happens to the system in flight, and JMC is a dashboard to analyze in-flight or after-flight behavior.

    Groovy - Java little brother on substances

    Trainer: Baruch Sadogusky, JFrog
    Level of training: basic
    Notebook: needed

    Participants will get acquainted with Groovy, feel how easy it is to switch from Java to Groovy (and vice versa), learn about the differences between these in two languages, they will see the pros and cons of Groovy compared to Java and will understand when to use each of these languages.

    Spring for seniors

    Trainer: Evgeny Borisov
    Level of training for students: high
    Notebook: needed

    Participants in the training will consider all the main insides of the Spring framework in order to be able to adapt it to the needs of any project. A comparison will be made of the use of different types of contexts, from XML to the configuration on Groovy, which appeared with Spring 4, and it will be discussed when and what to use more correctly.

    Where does memory go?

    Trainer: Nikita Salnikov-Tarnovsky, Plumbr
    Level of training: high
    Notebook: needed

    The training will show how to monitor memory usage in Java applications, how to separate normal situations from those when it is necessary start worrying and what to do after the first panic attack. It will be about what a memory leak is, and when it actually does not exist, although it seems. It will be sorted out what information, when and how to collect in order to start solving the problem. How to find memory leaks using memory dump. A separate topic for class loader leakage will be raised. Finally, various tools that can make life easier will be considered.


    See you at the conference!

    Also popular now: