📜 ⬆️ ⬇️

Review of the JPoint 2014 conference reports

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:





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:


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 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):


Trainings



We will have five training sessions:


Since the trainings are not cheap, I removed them under the spoiler. Who is interested - open and read.

Training Overview
Designing Reasonable Architecture

Trainer: Evgeny Krivosheev, SkillTrek
The level of training of students: high
Details: jugru.timepad.ru/event/110013
Laptop: 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/109278
Laptop: 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/109275
Laptop: 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/113437
Laptop: 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/115950
Laptop: 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!

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


All Articles