To determine which speakers the conference participants liked, we collect feedbacks, on the basis of which we get a very reliable weighted estimate for each of the reports. ')
Of course, some reports are better, some worse. But in this post we will talk about 10 pearls, the best reports, the rating of each of which was higher than 4.6 on a five-point scale. Link to the rest of the reports on the cut, so you will have something to do before the New Year :) Evgeny EvgenyBorisov Borisov - Myths about Spark or whether Spark can be used by an ordinary Java developer
A report on what it is like to work on a Scala framework for Java, and why you should do it, which at one time caused a bugurt in the comments . The report discusses the structure and principles of Spark, the advantages of Java 8, which make working with Spark convenient and concise.
The exciting report, starting with philosophy and filled with demos, is a rare exception that deservedly occupied the first line. If you write in Java and work with BigData - must see:
A report for those who are already working with the Stream API and who are not afraid of the word spliterator. The main attention is paid to the strange behavior of the streams in the areas of performance, memory and concurrency. Tagir tried not to focus on the microeffects, but to talk about the problems, the solution of which allows you to speed up your code by 2-10 times.
The report examines in detail what bugs are in the Java 8 Stream API and what will be fixed in Java 9. Also, solutions to some non-trivial tasks are given, including using the StreamEx library (the author of which, by an incredible coincidence, is Tagir himself).
Alexey Shipilev - The Lord of the Strings: Two Scours
Report included in the TOP-3 of all our Java conferences (Joker / JPoint / JBreak). The report helps to understand how much the development of the JDK differs from ordinary projects. As part of the talk, Alexey shows two features in the still-coming JDK 9 aimed at optimizing strings: Compact Strings , compressing strings with single-byte characters, which improves the footprint and even overall performance; and Indify String Concat , which uses invokedynamic magic for string concatenation, allowing you to hook up the concatenation implementation without recompiling programs.
Maxim Dorofeev - Raise Your Monkey
The only non-technical report that was highly appreciated by the audience. However, this is a JPoint, even non-technical reports turn out to be low-level. You will find out what a “monkey” lives in each of our brains and how it makes us watch another episode of “Stranger Things” instead of working or reading a useful book.
This report is about how to adapt to yourself and the people around us, to have time to carry out the tasks entrusted to you and at the same time leave work on time. Perhaps the key to its success is that many developers are undisciplined enthusiasts who work at night and are constantly experiencing a shortage of hours in a day.
JPoint and Joker are conferences that awaken in ordinary, seemingly developers, cravings for "iron" optimizations. It’s Sergey’s reports that quench your thirst for blood and hardcore: below is the video recording of the second part of the report, which deals with how “small and little fucking inside the architecture of modern processors affect the performance of your applications”. The first part , dedicated to what is happening in the processor core.
The new report focuses on the effects that can be achieved through on-chip optimizations that lie beyond the core. If you like a harder performance, go here:
Alexey Shipilev - If Not Unsafe, Then Who: Sunrise VarHandles
As you know, Java developers love sun.misc.unsafe, and JDK developers don't like people writing unsafe code. Why? Because “ Java is exceptionally safe.Except Unsafe which is unsafe.But it is an exception . ”
This love triangle has led to the fact that in Java 9 there will be no access to the enseife, and VarHandles will replace it - a new API, comparable in speed to Unsafe, but more secure. In the report, Alexey is alive with examples and benchmarks about the reasons for the emergence of the new API, its capabilities, limitations and speed of work (which is sometimes even higher than unsafe):
Well, you know. Puzzlers + Java 8 = win. A tuple of three Java stars could not enter the TOP, especially with puzzlers. Hourly selection of ridiculous and very difficult puzzles for Java 8: ideal for checking the sharpness of the mind, as well as to understand where the eggs are.
You can watch at home, with a mug of tea / coffee / beer comes better than the TV series:
Ruslan Cheremin Cheremin - Escape Analysis and scalarization
Okay, back to hardcore with Ruslan Cheremin about the intricacies of Escape Analysis, which allows you to understand whether you can do Scalar Replacement without consequences (allocate an object directly on the stack and not waste time on working with links and garbage collection). The report begins with the basics, but perhaps before viewing you will want to read Ruslan's blog , in which there is much interesting on this topic.
The report on examples examines the strengths and weaknesses of the escape analysis algorithms used in Java JIT:
Roman Grebennikov - Fear and Loathing in Distributed Systems
Have you ever had such that your cluster suddenly loses and corrupts data, suffers from a split brain and lives its rich life against your will? This report clarifies:
What problems are encountered when creating distributed systems;
How can you fix and make typical mistakes in the design;
Mathematics about integrity, CAP-theorem, linearization, consensus and CRDT;
How to apply all this knowledge in practice and what are the tools to facilitate the hard life of the developer of distributed systems.
A report on how to make a distributed system without having shot yourself in the foot: typical mistakes and ways to solve them, as well as a little live coding on Scala with Docker with data loss on the air:
Oleg m0nstermind Anastasyev - Distributed systems in Odnoklassniki
A report on how one of the most heavily loaded systems in Russia works, processing up to 500,000 (half a million, yes) requests per second to 8,000 servers in three data centers. Oleg read this report at three of our Java-conferences (Joker, JPoint, JBreak) and entered the list of the best at each - this, as they say, for good reason.
Here you will find an example of building a fault-tolerant distributed system in Java, the main errors and failures, methods for testing and diagnosing them. It will also deal with accidents in distributed systems and methods for their prevention.