Hello!
As many Javakhabrovists know, in 10 days the JPoint conference will take place 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 we managed to gather experts in almost all areas of interest to us.
I already
published the FAQ on the conference in Habré a month and a half ago. Now is the time to go through the reports and master classes of the conference and see what awaits us.
')
All reports of the conference can be divided into three categories:
- Applied
- First-hand
- Brain explosion

Reports
Java 8: Advanced Stream Techniques
Speaker: Sergey Kuksenko, Oracle
Category: Brain Blast
The level of training of students: high
Probably, almost all Java developers have already heard (and some have tried) about the new Java 8 and its cool Stream API feature. The report will be about why the "Stream API" in Java 8 turned out the way it is. Students will learn to create their own Streams, as well as make better use of existing ones.
A crash dump is a “black box” of a dropped JVM
Speaker: Andrey Pangin, Odnoklassniki
Category: Brain Blast
The level of training of students: high
The report will tell you what is encrypted in the JVM crash dump and how this information can be used to analyze the problem and find the cause. There will be considered situations in which the JVM may break, and in the live demonstration mode, examples of real crashes that occurred during the development of high-loaded applications are analyzed.
Akka framework and its use in Yandex
Speaker: Vadim Tsesko, Yandex
Category: Applied
The level of training of students: high
The report will consider the model of actors using the example of Akka / Scala and the experience of its use in services that are already running or still being developed in Yandex. The conversation will go about the tasks, architectures, decisions made (and rejected), advantages and disadvantages, as well as rakes, and workarounds for them.
Java Benchmarking: how to write down two timestamp!
Speaker: Alexey Shipilyov, Oracle
Category: Brain Blast
The level of training of students: high
The report will discuss how to examine the performance of applications using benchmarks, what frequent errors occur, how to deal with them, and how to get at least some useful information about the world, where
everything depends
on everything . The main thread in the report is Java Microbenchmark Harness (JMH), the standard harness for writing and research benchmarks in OpenJDK / OracleJDK.
Theoretical minimum for understanding the Java Memory Model
Speaker: Roman Elizarov, Devexperts
Category: Brain Blast
The level of training of students: high
The report is intended to fill the annoying gap of the modern education system of programmers, which has not yet been adjusted to the realities of the modern multi-threaded world. There will be a minimum of practice and a maximum of the theory: definitions, concepts, theorems. After listening to this report, all the terms that are mentioned in Chapter 17 of the Java language specification will have a clear and complete meaning for the listeners.
Java multithreading under the hood
Speaker: Gleb Smirnov, Deutsche Bank
Category: Brain Blast
The level of training of students: high
Understanding the Java Memory Model (JMM) is important, but not enough. You also need to know how this model works and why. The report will consist of a brief theoretical description of the JMM, and then resolutely proceed to dismembering OpenJDK in live demo mode. It will be considered 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
The level of training of students: high
The talk will discuss the innovations in HotSpot JVM in Java 8: support for default methods, rejection of PermGen and other simpler, but equally useful, improvements.
Java Embedded in your home
Speakers: Alexander Belokrylov and Alexander Mironenko, Oracle
Category: First Hand
Level of training of students: any
From the report, students will learn:
- which Java versions are intended for use on embedded devices;
- What is the difference;
- which platforms are supported;
- how Java works on the ARM architecture;
- how to use Java to control devices with UART, I2C, SPI interfaces;
- how to write the control code of the relay in 5 minutes, shut down the application on the Raspberry Pi microcomputer and run it directly without exiting the IDE.
Compromises, or How programming languages ​​are designed
Speaker: Andrey Breslav, JetBrains
Category: First Hand
Level of training of students: any
The report is devoted to tradeoffs in the development of programming languages: why language developers do anyway. We will look at some typical examples concerning Kotlin, Java, Scala, and C #, which will allow us to form some idea of ​​how languages ​​are designed.
Barefoot Hibernate
Speaker: Nikolay Alimekov, XPInjection
Category: Applied
Level of training of students: any
Hibernate is far from universal and rakes are scattered everywhere, even experienced developers are attacking. The report will discuss both the problems of Hibernate, and how to solve them, bypass or isolate.
Heap, off you go
Speaker: Nikita Salnikov-Tarnovsky, Plumbr
Category: Brain Blast
The level of training of students: high
Automatic memory management and garbage collection are one of the biggest advantages of JVM compared to previous platforms. They have their price: the overhead of the garbage collector and the application stops caused by it. However, these costs can be avoided if you take responsibility for memory management back into your own hands. The report will talk about what “outside the heap” means for a Java developer and how you can speed up your application using this technique.
Escape from the sandbox. Java Zero Day Vulnerabilities
Speaker: Mikhail Dudarev, Licel
Category: first hand
Level of training of students: any
The report will cover the hottest security topics in Java:
- Java security architecture - sandboxes and policies. How the security model is implemented and for whom it is applied.
- Vulnerabilities of the zero day of 2012-2013. An overview of the most significant threats and ways to exploit them in the JRE.
- Java malware under the microscope. Analysis of the most popular malware that exploits 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 of students: any
The report will explain how modern IDEs optimize the compilation process in order to get results instantly even for large projects. The features of javac, which at the same time have to be overcome, will be described. In addition, the interaction between the IDE and the compiler will be considered.
Groovy compiler-level meta-programming
Speaker: Baruch Sadogusky, JFrog
Category: Brain Blast
The level of training of students: high
A report on the extensibility of the Groovy compiler and how you can change the compilation process to your needs by manipulating an abstract syntax tree. Examples of Groovy syntax mutations will be analyzed using the example of Grails, Griffon and Spock frameworks.
Garbage collection, battle algorithms
Speaker: Alexey Ragozin, Deutsche Bank
Category: Brain Blast
Level of training of students: any
The report will analyze the entire internal kitchen of garbage collection algorithms: entry barriers, memory organization, algorithm operation phases, processing paralleling. The bout is analyzed, what is the difference between the Mark Sweep Compact, its parallel version, Concurrent Mark Sweep (CMS), Garbage First (G1) and the new Shenandoah.
The choice of technologies for corporate applications
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 the five-year experience of using the Vaadin framework to implement the user interface.
Spring the ripper
Speaker: Yevgeny Borisov
Category: Applied
Level of training of students: any
The report will discuss several questions about Spring (with examples for each):
- How much does Spring affect the performance of your program?
- What is included in the life cycle of the spring?
- How does ApplicationContext work?
- “This cannot be done at Spring” - and maybe?
Trainings
We will have five training sessions:
- Designing grounded architecture, Evgeny Krivosheev
- Java Mission Control, Dmitry Chuyko
- Groovy - Java's younger brother on substances, Baruch Sadogusky
- Spring for Seniors, Yevgeny Borisov
- Where the memory flows, Nikita Salnikov-Tarnovsky
Since the trainings are not cheap, I removed them under the spoiler. Who is interested - open and read.
Training OverviewDesigning Reasonable Architecture
Trainer: Evgeny Krivosheev, SkillTrek
The level of training of students: high
Details:
jugru.timepad.ru/event/110013Laptop: not needed
What to do if the recommendations in the books contradict each other and sometimes impossible? How to maintain the quality of design in the context of continuous change? How to solve problems with minimal effort, while bringing maximum benefit to yourself and the company? How to get pleasure from the development without stumbling over technical debt?
Java Mission Control
Trainer: Dmitry Chuiko, Oracle
Level of training of students: any
Details:
jugru.timepad.ru/event/109278Laptop: need
As part of the class, students will learn about the ideology and basics of using Java Flight Recorder (JFR) and Java Mission Control (JMC), as well as the features available in the latest version of the JDK. The JFR is a black box that quietly records what happens to the system in flight, and the JMC is the dashboard to analyze the behavior in flight or after.
Groovy - Java's younger brother on substances
Trainer: Baruch Sadogusky, JFrog
Level of training of students: basic
Details:
jugru.timepad.ru/event/109275Laptop: need
Training participants will become familiar with Groovy, feel how easy it is to switch from Java to Groovy (and back), learn about the differences between these two languages, see the pros and cons of Groovy compared to Java and understand when to use each of these languages.
Spring for seniors
Trainer: Yevgeny Borisov
The level of training of students: high
Details:
jugru.timepad.ru/event/113437Laptop: need
Training participants will look at 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 kinds of contexts, from XML to Groovy configuration, which appeared along with Spring 4, and discussed when and how to use it more correctly.
Where does the memory flow?
Coach: Nikita Salnikov-Tarnovsky, Plumbr
The level of training of students: high
Details:
jugru.timepad.ru/event/115950Laptop: need
The training will show how to monitor memory usage in Java applications, how to separate normal situations from when to start worrying and what to do after the first panic attack. It will be a question of what a memory leak is, and when it really is not, although it seems. You will understand what information, when and how you need to collect, to begin to solve the problem. How to find memory leaks using memory dump. A separate topic of class class loader leaks will be raised. Finally, various tools that can make life easier will be covered.
schedule

See you at the conference!