JPoint talks

Simon Ritter Azul Systems
Simon Ritter
Azul Systems
Day 1 / 12:00  / Track 2 / EN / Введение в технологию

JDK 12: Pitfalls for the unwary

We'll look at all the areas of JDK 9, 10, 11 and 12 that may impact application migration and also how the new JDK release cadence will impact Java support and the choices of which Java versions to use in production.

Read more
Simon Ritter Azul Systems
Simon Ritter
Azul Systems
Day 2 / 11:15  / Track 2 / EN / Для практикующих инженеров

Local variable type inference: Friend or foe?

We'll explain the fundamentals of local variable type inference and then take a series of examples of the use of var and discuss the technical merits of each case.

Read more
Anton Keks Codeborne
Anton Keks
Day 1 / 10:30  / Track 2 / RU / Готовьтесь, будет подгорать

The world needs full-stack craftsmen

True software сraftsmen can be an order of magnitude more efficient than narrowly skilled developers. They not only write code, but solve problems. Surely you want to be one. Let's break it down and see why it works.

Read more
Sebastian Daschner IBM
Sebastian Daschner
Day 2 / 11:15  / Track 3 / EN / Для практикующих инженеров

Cloud native, service-meshed Java Enterprise with Istio

This sessions shows how to implement service-meshed applications using Java EE 8 and MicroProfile. It also includes how to integrate the required cross-cutting concerns, such as monitoring, tracing, or resiliency into our applications, where developers have to actively integrate technology themselves and where the platform support us.

Read more
Sebastian Daschner IBM
Sebastian Daschner
Day 1 / 15:30  / Track 1 / EN / Введение в технологию

Bulletproof Java Enterprise applications for the hard production life

This session shows which non-functional requirements we enterprise developers need to be aware of to build stable and resilient applications.

Read more
Oli Makhasoeva 47 Degrees
Oli Makhasoeva
47 Degrees
Day 2 / 17:35  / Track 3 / RU / Для практикующих инженеров

Seamless web services development with Mu

Oli introduces Mu, a new FP library for building web services aiming to make it painless.

Read more
Kohsuke Kawaguchi CloudBees
Kohsuke Kawaguchi
Day 1 / 13:45  / Track 2 / EN / Для практикующих инженеров

Pushing a big project forward: the Jenkins story

Kohsuke, the creator of Jenkins and CTO of CloudBees, will walk you through what exciting new Jenkins projects are aiming for, how they work together to make you even more productive.

Read more
Kirill Tolkachev JUG Ru Group
Kirill Tolkachev
JUG Ru Group
Evgeny Borisov EPAM
Evgeny Borisov
Day 1 / 18:30  / Track 1 / RU / Для практикующих инженеров

Reactive, or not reactive: that is the question

As an example we'll discuss a system with problems and, naturally, try to refactor it in reactive manner. We'll cover benefits and drawbacks of not only the approach, but also API of specific implementations. We'll evaluate the level of complexity before and after refactoring. We'll try to learn what is joke and what isn't.

Read more
Rafael Winterhalter Scienta AS
Rafael Winterhalter
Scienta AS
Day 2 / 16:15  / Track 4 / EN / Для практикующих инженеров

The definite guide to Java agents

A complete overview of Java agent development.

Read more
Sergei Egorov
Sergei Egorov
Day 1 / 17:00  / Track 3 / RU / Для практикующих инженеров

Don't be Homer Simpson to your Reactor!

You've never heard of BlockHound? Or you've heard about backpressure, but aren't sure it works in your code? Maybe you want to prepare your code in advance, in case something goes wrong in production? Or you just want to watch Reactor developers working with their product and learn a couple of cool tricks? Then this talk is for you!

Read more
Tagir Valeev JetBrains
Tagir Valeev
Day 2 / 14:30  / Track 1 / RU / Для практикующих инженеров

Atomic refactoring in IntelliJ IDEA: Bending IDE to our will

We can often divide the refactoring process into atomic steps, or transactions; after each step the semantics is saved. The smaller these steps, the shorter the "broken" condition of the program, the lesser is the possibility of an error. We'll see via examples how to achieve this during the Java code refactoring in IntelliJ IDEA and how to make your environment do atomic refactoring if it resists.

Read more
Alexander Panchin
Alexander Panchin
Day 2 / 10:15  / Track 1 / RU / Введение в технологию

Playing God: Has science crossed a line?

With all the latest genetic engineering achievements, are we going to play God like this or is it time to outplay him?

Read more
Nikolay Igotti JetBrains
Nikolay Igotti
Day 2 / 12:45  / Track 3 / RU / Введение в технологию

Kotlin/Native: why make a native language in 2019? What is beyond JVM?

Nikolay will tell why they believe development of Kotlin/Native makes sense despite the wide variety of existing compiled languages.

Read more
Nikita Koval JetBrains
Nikita Koval
Day 1 / 15:30  / Track 2 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

A tale of how we did channel algorithm in Kotlin Coroutines

We'll discuss which channel algorithms other programming languages and libraries use, how we in Kotlin develop our own solution, which challenges and subtle aspects we encounter in the process and what we managed to achieve.

Read more
Oleh Dokuka VMware
Oleh Dokuka
Day 1 / 12:00  / Track 4 / RU / Для практикующих инженеров

RSocket — future reactive application protocol

You will learn why RSocket is an innovative solution for cross-server communication, how we can improve gRPC using RSocket, and why you should start using RSocket today.

Read more
Victor Rentea Independent Trainer
Victor Rentea
Independent Trainer
Day 1 / 13:45  / Track 3 / EN / Для практикующих инженеров

The Proxy fairy and the magic of Spring

Come and learn from a hands-on practitioner real-world best practices of using Aspects, design hints, under-the-hood implementation details, debugging tips, performance impact of aspects, all in an interactive, entertaining and extremely dynamic session.

Read more
Andrey Pangin Odnoklassniki
Andrey Pangin
Day 2 / 11:15  / Track 1 / RU / Для практикующих инженеров

JVM TI: how to create a "plugin" for a virtual machine

We'll discuss in which cases JVM TI can help developers, including common Java applications. We'll learn about the capabilities of the interface, including new features from Java 9 and 11, and create our own tool. Using the real-life cases as an example, we'll see what JVM TI issues developers encounter and how to solve these issues.

Read more
Charlie Gracie IBM
Charlie Gracie
Day 1 / 12:00  / Track 3 / EN / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Create your own interpreter with a JIT in 1 hour

Charlie will describe how you can use Eclipse OMR technologies to easily create an interpreter for a new or existing runtime and get a JIT for free!

Read more
Oleg Šelajev Oracle
Oleg Šelajev
Day 2 / 12:45  / Track 1 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Metacompilation, partial evaluation, the Futamura projections, and how GraalVM will save the world

We'll talk about Truffle — framework for creating programming languages on the basis of GraalVM. Details of its work can help you better understand how languages supported by GraalVM — JavaScript, Ruby, R, Python — work and how they should be used.

Read more
Yegor Bugayenko Zerocracy
Yegor Bugayenko
Day 1 / 12:00  / Track 1 / RU / Введение в технологию

Software testing pitfalls

Since it's impossible to entirely remove all bugs from any software package, how do we know when it's time to stop testing and release the product to its end-users?

Read more
Chris Hegarty Oracle
Chris Hegarty
Day 1 / 18:30  / Track 4 / EN / Для практикующих инженеров

Java 11 reactive HTTP Client

This session will first provide the background to the new HTTP Client API, its history and evolution through JDK 9 and JDK 10, then moving on to the specifics of what has been standardized in Java SE 11. The audience will learn how to use the API to perform common tasks.

Read more
Thomas Wuerthinger Oracle
Thomas Wuerthinger
Day 1 / 15:30  / Track 3 / EN / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Maximizing performance with GraalVM (talk + workshop)

We will discuss best practices for Java code shapes and compiler configurations to maximize performance with GraalVM and how to measure performance in a reliable manner.

Read more
Nikita Lipsky Excelsior
Nikita Lipsky
Day 1 / 17:00  / Track 1 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Spring comes ahead of time, or Unbearable lightness of AOT compilation of the Spring Boot applications

Using Spring Boot applications support in AOT-centric JVM Excelsior JET as an example, Nikita will show how Java dynamic properties being used in Spring Framework can work together with AOT-generated machine code.

Read more
Milen Dyankov Liferay
Milen Dyankov
Day 2 / 12:45  / Track 2 / EN / Для практикующих инженеров

Decomposing Java applications

We'll look at the process of decomposing a Java application into reusable components, ending up with application design that has good chance to evolve over the years without introducing additional accidental complexity.

Read more
Nikhil Nanivadekar Independent
Nikhil Nanivadekar
Day 2 / 16:15  / Track 2 / EN / Для практикующих инженеров

Do it yourself: Collections

The talk will walk the audience through the basics of creating a new collection, adding new collection-specific API, the salient aspects of the new collection, lastly, the various knobs and controls which are required to make it safe and usable.

Read more
Marc Hoffmann mtrail GmbH
Marc Hoffmann
mtrail GmbH
Evgeny Mandrikov SonarSource
Evgeny Mandrikov
Day 2 / 14:30  / Track 4 / EN / Введение в технологию

Let's make some 0xCAFEBABE — test-driven bytecode engineering

Writing and maintaining tools on bytecode level should always be guided by comprehensive tests. We will learn how bytecode manipulation can be implemented in a test-driven approach and with many code examples see practical techniques for real projects.

Read more
Ivan Ponomarev KURS
Ivan Ponomarev
Day 2 / 12:45  / Track 4 / RU / Введение в технологию

Kafka Streams API: Moving beyond Hello World

If you are going to create a working application using Kafka Streams, you'll need to learn quite a few things. We'll try to answer the emerging questions, examining along the way several demo examples using Spring framework.

Read more
Bernd Rücker Camunda
Bernd Rücker
Day 1 / 17:00  / Track 2 / EN / Для практикующих инженеров

Lost in transaction? Strategies to manage consistency in distributed systems

We don't have ACID transactions in distributed systems which affects every developer's daily life. In this talk, Bernd tells about how to cope with consistency challenges in modern architectures.

Read more
Andrzej Grzesik Simudyne
Andrzej Grzesik
Day 2 / 17:35  / Track 4 / EN / Для практикующих инженеров

What do I do with 1000s cores. Lessons learnt building an agent-based modelling system

Andrzej will talk about agent based modelling, from the point of view of a developer building the framework, focusing on some interesting, non-trivial or plain old surprising experiences he's getting building a JVM-based agent-based modelling SDK at Simudyne.

Read more
Vladimir Sitnikov Netcracker
Vladimir Sitnikov
Day 2 / 16:15  / Track 3 / RU / Для практикующих инженеров

Java is slow: CodeCache edition

It has never been like this and now it is exactly the same again: production crashes! Or just runs slow. It may be JIT compiler did something unexpected. We'll discuss how to manage its actions and how to analyse cases when something goes wrong.

Read more
Vladimir Plizga СFT
Vladimir Plizga
Day 2 / 16:15  / Track 1 / RU / Для практикующих инженеров

Moving Spring Boot microservices from Java 8 to Java 11: what can possibly go wrong?

A concise set of practical suggestions on how to move Spring Boot microservices from Java 8 to 11.

Read more
Gregory Koshelev
Gregory Koshelev
Day 2 / 14:30  / Track 2 / RU / Для практикующих инженеров

When it all went to Kafka

We'll tell how Kafka's designed and how we've been learning to use it properly.

Read more
Yuriy Artamonov Haulmont
Yuriy Artamonov
Day 1 / 17:00  / Track 4 / RU / Для практикующих инженеров

Anatomy and physiology of Vaadin Flow

A thorough analysis of Vaadin Flow internals and the search for pitfalls.

Read more
Allard Buijze AxonIQ
Allard Buijze
Day 1 / 15:30  / Track 4 / EN / Для практикующих инженеров

Performance aspects of Axon-based CQRS/ES systems

The Axon platform offers an unique, scalable way to build microservices. We'll talk about the main concepts behind Axon, focusing on how it addresses performance-related aspects of CQRS and event sourcing.

Read more
Dmitriy Govorukhin GridGain
Dmitriy Govorukhin
Day 2 / 17:35  / Track 2 / RU / Введение в технологию

Efficient file-based IO for Java developers

Dmitriy will share with you his personal experience of developing disk intensive applications and the peculiarities noticed during the development of Apache Ignite Native Persistence Store. This talk is aimed at experienced developers who need maximum performance when working with the disk.

Read more
Michał Płachta Reality Games
Michał Płachta
Reality Games
Day 2 / 14:30  / Track 3 / EN / Введение в технологию

Fast & functional

We are going to create a functional and blazingly fast microservice, using functional programming abstractions to quickly mix & match different HTTP libraries, state implementations and concurrency configurations.

Read more
Tomasz Nurkiewicz Allegro
Tomasz Nurkiewicz
Day 1 / 13:45  / Track 1 / EN / Введение в технологию

Reactive programming: lessons learned

Programming in a reactive style can turn your code into an unmaintainable abstract mess, obscuring business domain.

Read more
Bruno Borges Microsoft
Bruno Borges
Day 2 / 19:00  / Track 2 / EN / Введение в технологию

Making sense out of serverless computing

The goal of this presentation will be to understand when, how, and why to adopt serverless technologies.

Read more
Pasha Finkelstein JetBrains
Pasha Finkelstein
Day 2 / 11:15  / Track 4 / RU / Введение в технологию

Kotlin: how do usual constructions work

That's a talk about Pavel's exploration of Kotlin's entrails, and about result of compilation of our code. What is a cost of constructions we're used to use? What dangers do they hide? You can find some answers in this talk.

Read more
René Gröschke Gradle Inc.
René Gröschke
Gradle Inc.
Day 1 / 18:30  / Track 2 / EN / Для практикующих инженеров

Improve Java build performance with Gradle 5

Recent Gradle releases give you new capabilities to greatly improve the speed of your Java project build. We will discuss and use real builds to demo how you can identify performance bottlenecks, reduce build configuration time dramatically, take advantage of advanced features, and track build performance over time for your whole team.

Read more
Anton Arhipov JetBrains
Anton Arhipov
Day 2 / 17:35  / Track 1 / RU / Введение в технологию

How to unravel the tangle: Analyzing and debugging apps in IntelliJ IDEA

We'll discuss several capabilities of IntelliJ IDEA: analyzing code, debugging apps, and structural search (and replace).

Read more
Dmitry Chuyko BellSoft
Dmitry Chuyko
Day 1 / 13:45  / Track 4 / RU / Для практикующих инженеров

Don't put all your eggs in one container

We will consider the practical application of Java 11 functionality in a container environment typical for popular frameworks.

Read more
Aliaksandr Nozdryn-Platnitski Godel Technologies
Aliaksandr Nozdryn-Platnitski
Godel Technologies
Day 1 / 18:30  / Track 3 / RU / Введение в технологию

Java microservices: from Netflix OSS to Kubernetes

We'll share our experience of using Netflix OSS stack and switching to Kubernetes.

Read more