A Guide to JVM Applications Profiling
A gentleman's set for a developer in case of performance problems with their code.
Vladimir Plizga
Company: Tibbo Systems
The program hasn’t been finally approved yet, so there still might be some changes.
A gentleman's set for a developer in case of performance problems with their code.
Company: Tibbo Systems
Math, physics and harmony in music are closely related. We all know that there are seven notes. That's from a lyricist's point of view. But from the physicist's point of view, there are more. I will talk about this and how music can be explained through numbers, formulas and frequencies.
Memory models: from hardware origins to modern programming languages. We’ll trace their evolution, compare in Java, C++, Rust, Go, and discuss future innovations — a must-hear for anyone delving into multithreading and concurrency.
Company: Mir Plat.Form
In this live coding exercise I will show you how to use the new “Development-time Services” feature of Spring Boot with both Docker Compose and Testcontainers. Firstly how to use it as-is, then I will show how to integrate new container types for by leveraging the ConnectionDetails abstraction that was added to Spring Boot in version 3.1. This will be done using the generic container and custom module support in Testcontainers.
Company: Buralo Technologies
We'll talk about a Spring setting called open-in-view. It is on by default, according to common opinion it should be turned off. But do you really have to turn it off? Is there any other way to turn it off? Or not?
OSIV off cannot be turned on. Join the talk, and we'll put the commas together!
Company: Spring IO
Company: Spring IO
We implemented OAuth2 authentication using sidecars in Istio and Wasm and JVM technologies.
Company: Alfa-Bank
You are using Apache Cassandra and the unbelievable has happened: some or maybe all of your database queries have started to slow down.... Don't panic, in this talk we will try to understand what to do in such a case and analyze typical cases and examples from life.
I will tell you how you can speed up data insertion by parallelizing this process in Spring and how to keep the whole operation atomic. We will touch upon batch update in Spring and PostgreSQL, discuss why update is a heavy operation and how we can speed it up in the current technology stack. In addition, I'll look at other approaches to preserving atomicity and show the differences between them in benchmarks.
Company: Gazprombank
Exactly-once data processing in Kafka and what can go wrong with it.
Company: Yandex
We will talk about executing read queries in different databases and how to use this knowledge to select a DBMS for a specific task.
Jakarta Data as an alternative to Spring Data. Who prevails?
Company: Sber
I will tell you what kinds of code generation exist and how to use it in your work.
Company: Positive Technologies
Another <?>-oriented programming. This time it's contextual. Let's discuss what it is and how it is done in Kotlin.
Company: Scientific Programming Centre
How do you know if your tests are really catching bugs? Let's see how to use Pitest to customize mutation testing, speed it up, deal with false positives, add custom mutations, and integrate the process into CI/CD so that testing brings real value to the team.
Company: Techplatform of Yandex Ecom and Ridetech
A short speech about your custom Quarkus Extensions development: annotation processing, build-time class indexing, observability and bytecode generation.
Company: Tochka
We will talk about game development in Java and libGDX in particular. We'll look at the main concepts, approaches and tools.
Company: T-Bank
I will talk about researching different approaches to recursion optimization. I will consider and compare them with each other to get clear figures. Besides, I will cover optimization of tail recursion, tree traversal recursion, any recursion via DeepRecursiveFunction
. I will tell you how during my research I discovered and fixed a silly bug in Google code related to an attempt to optimize recursion.
Company: SberDevices
I'll talk about how to use Kotlin with gRPC to efficiently handle various tasks in a project, including asynchrony with coroutines, Channels and Flows, ways to interact with the server (Server Streaming, Client Streaming), and the benefits of Type Safety and Type-Safe Builders in Kotlin.
Company: Raiffeisen Bank
Minecraft is not only a game, but also a powerful platform for learning and professional development. The talk will cover tools for supporting multiple versions of the game on a single server, working with network packages, and modifying the game through byte code patching that help developers hone their Java and networking skills.
Company: T-Bank
This talk presents a custom load-shedding mechanism with client prioritization in Spring Cloud Gateway, designed to handle traffic spikes while ensuring priority access for critical clients beyond standard rate limiting. We will explore distributed capacity management using custom a filter, Redis and Lua scripts, dynamic capacity redistribution, and real-time API adjustments.
Company: Natera
The Camunda engine can record a detailed history of process traversal, which is very useful for user support. But it is very expensive for the database. The talk is on how to maximize the efficiency of putting the history in a separate database, freeing up the main application for direct customer support.
Company: T-Bank
The new “virtual threads” feature introduced in Java 21 is intended to increase the efficiency of multithreaded code. But what is its innovativeness and in what cases can it lead to significant optimization and code acceleration?
Company: RSHB Digital
ART — Android Runtime — is a virtual machine in Android OS in which user applications are executed. ART can be thought of as a mobile device-centric implementation of the JVM with its inherent limitations, including memory management and garbage collection. In the Android ecosystem, it executes programs in JVM languages such as Java and Kotlin, and has a number of differences from OpenJDK. Unfortunately, this topic is still poorly covered, so in my talk I propose to delve into the peculiarities of this equally interesting world.
Company: Syntacore
To find the attack surface for applications, it is necessary to track the data flows within them. Most existing data flow tracking tools are based on virtual machines. In this talk, we will look at a way to extract the names and parameters of Java functions running in a virtual machine running QEMU.
Company: ISP RAS
Monolithic applications can be difficult to maintain and extend. This talk is about solving this problem by using modular architecture to create flexible and dynamically extensible Java applications. We will consider how to implement hot reloading of plug-ins, providing independent component development and functionality updates on the fly, without downtime.
Company: Paidora
I will show how to version efficiently in Spring MVC, JAX-RS, combining mixins and annotations. In a frequent versioning environment and microservice architecture.
Company: Koronatech
I will show how an IDE speeds up routine tasks and increases productivity, as well as explain what goes on “under the hood” of IntelliJ IDEA. We'll practice writing plugins and look at the Connekt HTTP client from Amplicode.
Company: Amplicode
Java compilation speed is low for a number of reasons, especially when compared to some other languages. We set and successfully solved the task of compilation acceleration, achieving a twofold increase in speed, as well as a noticeable reduction in memory and CPU consumption during compilation.
Company: AxiomJDK
The journey of building an AI Assistants service by a small team with the requirement of (almost) no disk access. How to swap SQS and Kafka for Redis, learn a lot of lessons from using Redisson and avoid losing all your efforts due to deployment nuances.
Company: Yandex Cloud
I will tell you how we migrated our service from Elasticsearch storage to Cassandra: what you need to know before deciding to migrate, what features and limitations there are, how to move without downtime and without affecting users. I will share the details of our implementation and the problems we faced.
Company: T-Bank
We'll talk about why Sber decided to create its own IDE when IDEA Community exists, and what differences there are between them. We will look at the plans for further development of the platform, as well as the functionality included in the release version. In addition, we will pay special attention to the technical difficulties and limitations we encounter and how to solve them. It will be equally interesting to discuss how GigaIDE simplifies routine tasks, how the platform's internal architecture and the process of writing plugins.
Company: Sber
We are actively adding to the program. Sign up for our newsletter to stay informed.