~/conference

Conf42 Enterprise Software 2021

Java developers, backend developers, JVM engineers, software architects, quality engineers, devops engineers, on-call engineers

OpenJ9 garbage collection internals; JVM warm-up benchmarking (HotSpot GraalVM OpenJ9); mutation testing with PIT; CompletableFuture concurrency patterns; migrating to JUnit 5; R2DBC reactive relational SQL; MicroProfile GraphQL APIs; event-driven architectures with Kafka; reactive Kafka consumption patterns; live non-breaking debugging (Rookout); building a dependency injection framework; Java web-app security vulnerabilities (Struts zip-slip)

titleauthorlength
Premiere - Conf42 Enterprise Software 2021Liran Haimovitch, Brian Vermeer, Catalin Tudose, Frank Kriegl, Igor Braga, Rafal Leszko, Grace Jansen, Bogdan Sucaciu, Dmitry Vinnik, Ranjan Mohan, Silvia Siu Luo, Jonathan Meek, Mark Hendriks, Naresha K., Phillip Kruger, Rob Hedgpeth, Yehonathan Sharvit, Mappuji Abdurrachman, Denys Makogon, Nicolas Fränkel, Tom Granot, Victor Rentea15m
One videocast bundles ~20 short talks and a live demo: a rookout walkthrough shows rookout non‑breaking breakpoints that collect snapshots without redeploy…
Promo on
Why you’re getting understandability wrongLiran Haimovitch15m
Claim: most companies ignore understandability even though 68% of organizations report flying blind or flying slow. Defines understandability as having source…
Talk on
Live hacking: Breaking into your Java web appBrian Vermeer43m
Live demos exploit Apache Struts RCE to run arbitrary OS commands on a Heroku instance (curl shows environment vars, /etc/passwd), a zip slip overwrite…
Talk on
BDD with JUnit 5 and CucumberCatalin Tudose44m
Demonstrates BDD for a Java flight-management app using JUnit 5 nested tests then migrating to Cucumber feature files with Gherkin and IntelliJ plugins…
Talk on
Benchmarking JVM Warm-Up PerformanceFrank Kriegl33m
Benchmarks compare HotSpot (AdoptOpenJDK), GraalVM 20.2 and OpenJ9 using a JMH Sudoku backtracker run for 21,000 iterations, 20 forks and 12 runs (5.04 million…
Talk on
Demystifying Garbage Collection in JavaIgor Braga31m
Overview of OpenJ9 GC choices and concrete tradeoffs including throughput versus pause time and memory overhead, with implementation details and numbers…
Talk on
Mutation Testing with PITRafal Leszko22m
Explains mutation testing as introducing artificial bugs and checking whether tests kill them, using PIT to generate and report mutants automatically. Shows a…
Talk on
Reacting to an Event-Driven WorldGrace Jansen54m
Claim: dropping an event backbone into a monolith doesn’t make end-to-end non‑blocking—configuration and architecture do. Demonstrations use Apache Kafka (3+…
Talk on
Demystifying Event-Driven ArchitecturesBogdan Sucaciu31m
Defines Event-Driven by showing concrete patterns and tools: uses Apache Kafka topics/log-backed logs, a producer that emits one event per second and three…
Talk on
Back to the CompletableFuture: ConcurrencyDmitry Vinnik28m
Explains why Java moves from Threads/Runnable to ExecutorService and CompletableFuture, with concrete code patterns: use ExecutorService factories and…
Talk on
Debugging JVM performance issuesRanjan Mohan, Silvia Siu Luo40m
Step-by-step triage shows concrete actions: capture jmap heap dumps and analyze with Eclipse MAT, sample threads with jstack every 30s to spot a busy thread…
Talk on
Making the Jump to JUnit 5Jonathan Meek25m
Walks through migrating JUnit 4 to JUnit 5 on Spring Boot (requires Java 8+, Spring Boot 2.4+), showing concrete edits: org.junit.jupiter.api package…
Talk on
Build your own Dependency Injection framework!Mark Hendriks31m
Builds a tiny DI framework called the Injectinator using Java reflection and Maven on Java 8/11/15, proving the magic is just code. It defines a @InjectMe…
Talk on
Effective Java with Groovy & KotlinNaresha K.37m
Shows concrete replacements for boilerplate: Groovy uses @EqualsAndHashCode, @Immutable and @Delegate AST transformations to generate equals/hashCode, final…
Talk on
Writing queryable APIs with MicroProfile GraphQLPhillip Kruger44m
Starts from a JAX-RS + Jackson REST app backed by JPA (people) and a flat-file score store, demonstrates painful over‑ and under‑fetching, then rewires it to…
Talk on
Getting Reactive with Relational Databases & R2DBCRob Hedgpeth56m
Explains that R2DBC is a non‑blocking reactive spec and shows a working MariaDB driver plus a Spring client: uses MariaDB R2DBC connector, Spring Data R2DBC…
Talk on
Data-Oriented programmingYehonathan Sharvit21m
Argues that refactoring a Java library-management design into split data and code (plain data classes + separate functions) removes tangled methods, eliminates…
Talk on
Enjoy Typesafe Web Development with EtaMappuji Abdurrachman22m
Demo shows building a small web backend in Eta (Haskell on JVM) using gradle/atlas.run and Docker to resolve dependencies. Code implements a fibonacci API and…
Talk on
The Best Country to observe the Northern LightsDenys Makogon19m
A reproducible scoring system ranks countries by combining solar activity, magnetic disturbance, seasonal visibility and historical weather from Dark Sky API…
Talk on
Migrating from Imperative to ReactiveNicolas Fränkel43m
Migrates a Spring Boot REST app stepwise: annotation-based spring-webmvc to spring-webmvc -> functional routes -> spring-webflux, swapping blocking…
Talk on
Getting Back to Sleep ASAP for the On-Call DeveloperTom Granot25m
Walks through a real production incident and shows concrete steps: add real-time instrumentation to a running service, attach transaction traces across billing…
Talk on
The Perfect Code ReviewVictor Rentea17m
Argues that code reviews should leave engineers energized and shows concrete, repeatable steps: impose small PR size limits, use automated checks (linters, CI)…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.