Review of reports of the conference JPoint 2014
Hello!
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:
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.
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.
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.
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.
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.
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.
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.
Speakers: Alexander Belokrylov and Alexander Mironenko, Oracle
Category: First-hand
Level of training of students: any
From the report, students will learn:
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.
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.
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.
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:
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.
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.
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.
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.
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):
We will have five trainings:
Since training with us is not cheap, I removed them under a spoiler. To whom it is interesting - open and read.
See you at the conference!
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
Reports
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?
Trainings
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
Trainer: Eugene Krivosheev, SkillTrek
Level of training: high
Details: jugru.timepad.ru/event/110013
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?
Trainer: Dmitry Chuyko, Oracle
Level of training: any
Details: jugru.timepad.ru/event/109278
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.
Trainer: Baruch Sadogusky, JFrog
Level of training: basic
Details: jugru.timepad.ru/event/109275
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.
Trainer: Evgeny Borisov
Level of training for students: high
Details: jugru.timepad.ru/event/113437
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.
Trainer: Nikita Salnikov-Tarnovsky, Plumbr
Level of training: high
Details: jugru.timepad.ru/event/115950
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.
Designing sound architecture
Trainer: Eugene Krivosheev, SkillTrek
Level of training: high
Details: jugru.timepad.ru/event/110013
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
Details: jugru.timepad.ru/event/109278
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
Details: jugru.timepad.ru/event/109275
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
Details: jugru.timepad.ru/event/113437
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
Details: jugru.timepad.ru/event/115950
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.
timetable
See you at the conference!