Cay Horstmann
Cay Horstmann San Jose State University

Concurrency For Humans

Day 1 / 15:30  / Track 2
In this talk you'll see that you should think in terms of tasks, not threads, to write concurrent code.
Tagir Valeev
Tagir Valeev JetBrains

Project Amber: news from the front

Day 2 / 17:15  / Track 2
What has been done already, what challenges do the project creators face, how can we play with it and suggest our own incredible ideas.
Kirill Tolkachev
Kirill Tolkachev Alpha-Bank
Evgeny Borisov
Evgeny Borisov Naya Technologies

Boot yourself, Spring is coming (Part 2)

Day 2 / 12:15  / Track 2
Talk aims to reveal at least part of Spring Boot magic by discovering the way it works, letting you debug your apps easier.
Kirill Tolkachev
Kirill Tolkachev Alpha-Bank
Evgeny Borisov
Evgeny Borisov Naya Technologies

Boot yourself, Spring is coming (Part 1)

Day 2 / 10:45  / Track 2
Talk aims to reveal at least part of Spring Boot magic by discovering the way it works, letting you debug your apps easier.
Vladimir Ozerov
Vladimir Ozerov GridGain Systems

Serialization: making it fast, concise, cross-platform

Day 2 / 17:15  / Track 3
In this talk we'll cover different principles of data types serialization, ways of working with classes metadata, cross-platform and code generation issues. Also, we'll dwell on how we created a cross-platform serialization engine for Apache Ignite.
Maxim Gorelikov
Maxim Gorelikov Alpha-Laboratory

Spring 5. Reactor inside

Day 2 / 14:00
In this talk we'll see what are the perks of Spring 5/Reactor for a developer. We'll take a simple synchronous system from a couple of services and databases, we'll solve its problems step by step using reactive approaches. We'll try to figure out how it all works together and how we use streams in various situations.
Ionut Balosin
Ionut Balosin Luxoft

Runtime vs. compile time (JIT vs. AOT) optimizations in Java and C++

Day 2 / 10:45  / Track 3
We'll dwell on what really happens under the hood at compile time vs. runtime by making an analogy between C++ and Java. The talk reveals how Just-in-time compiler from HotSpot/OpenJDK internally manages runtime performance optimizations for hot methods in comparison with compile time optimizations triggered on similar C++ source code using clang, emphasizing all of the internals and strategies used by each of them to achieve better performance.
Dmitry Aleksandrov
Dmitry Aleksandrov T-Systems

Java and GPU, where are we now?

Day 1 / 13:45  / Track 4
Nowadays GPU resources are available not only on gaming PCs, and in some cases utilizing them delivers huge gains. How and when to use GPU in Java?
Nitsan Wakart
Nitsan Wakart TTNR Labs

Profilers are lying hobbitses

Day 1 / 15:30  / Track 1
We will re-visit our broken assumptions about profilers and try and make sense of broken measurements and how they come about.
Sebastian Daschner
Sebastian Daschner Freelancer

Event sourcing, event-driven architectures and CQRS

Day 1 / 12:00  / Track 4
We'll dwell on the concept and benefits of CQRS (including eventual consistency, event-driven architectures, event sourcing), how to realise a CQRS application, could it be done with Java EE technology, where the framework already offers solutions and where it has to be extended. We'll go into the details of both approaches.
Vladimir Tsukur
Vladimir Tsukur Wix

GraphQL — APIs in a new way

Day 1 / 12:00  / Track 3
REST-ish APIs have become the de-facto standard, but is it always the right choice? We'll examine an evolving standard GraphQL in real, practical action.
Oleg Anastasiev
Oleg Anastasiev Odnoklassniki

One-cloud DC/OS on Java and for Java

Day 1 / 18:30  / Track 4
This talk will examine both interesting details of one-cloud structure and Odnoklassniki experience in using highload Java apps in containers.
Sebastian Daschner
Sebastian Daschner Freelancer

Cloud native Java EE

Day 1 / 17:00  / Track 3
What it takes to implement cloud-ready, adaptive and scalable application using Java EE, which extensions are out there that help us do the job and why Java EE perfectly fits the container and orchestration world.
Aleksey Dobrynin
Aleksey Dobrynin Sberbank-Technology
Ruslan Mikhalev
Ruslan Mikhalev Alfa-Lab

Groovy DSL. Examining Gradle

Day 1 / 17:00  / Track 1
In this talk we'll explore tools for creating your own Groovy DSL (using Gradle scripts realization as an example).
Anastasia Lieva
Anastasia Lieva TabMo

Big Data Science in Scala

Day 2 / 10:45  / Track 1
How Scala libraries help data science meet growing demands, benefitting from Scala functional aspects, its big data ecosystem and hybrid functional and object-oriented approach.
Aleksey Shipilev
Aleksey Shipilev Red Hat
Andrei Pangin
Andrei Pangin Odnoklassniki
Vladimir Sitnikov
Vladimir Sitnikov Netcracker
Gleb Smirnov
Gleb Smirnov Plumbr
Volker Simonis
Volker Simonis SAP

Panel Discussion - Profiling and optimization

Day 2 / 17:15  / Track 1
During this panel discussion between the performance experts, the specialists will dwell on methodology from different sides of the process: both particular applications optimization, as well as platform level and runtime. The participants can pass their notes with questions or to send them online with a special hashtag #jokerconf_perf_bof.
Alex Borysov
Alex Borysov Google

Enabling Google microservices with gRPC

Day 2 / 14:00  / Track 2
gRPC is a high-performance HTTP/2-first RPC framework from Google. How does it help to build reactive microservice architecture, what are the use-cases and what are the reasons for using it?
Nikolay Rychkov
Nikolay Rychkov
Mikhail Malyutin
Mikhail Malyutin

Ceylon in production

Day 2 / 10:45  / Track 4
From the language overview to the real world experience with it and the problems faced while using it.
Nikita Koval
Nikita Koval Devexperts

Lock-free algorithms testing

Day 2 / 12:15  / Track 3
This talk is about various strategies and techniques for checking for linearizability, as well as how to test your data structures using the provided API.
Evgeny Mandrikov
Evgeny Mandrikov SonarSource
Marc Hoffmann
Marc Hoffmann Mtrail

Java Code Coverage mechanics

Day 2 / 12:15  / Track 4
The implementation details of the library and, as JaCoCo is fully based on Java bytecode, a deep dive into some internals of the JVM, different Java compilers and into corner cases of the respective specifications and implementations.