Getting Started With Java Development in 2023 — An Opinionated Guide
An opinionated guide for beginners starting Java development in 2023, covering versions, tools, and ecosystem recommendations.
Gunnar Morling is a Java Champion and open-source software engineer specializing in Java and data streaming. He works at Confluent, contributes to projects like Hibernate and Debezium, and shares his expertise through blogs, talks, and conferences.
91 articles from this blog
An opinionated guide for beginners starting Java development in 2023, covering versions, tools, and ecosystem recommendations.
A guide to visually distinguishing AWS environments by automatically changing terminal colors based on the active AWS profile to prevent accidental production changes.
Analyzing Java BlockingQueue performance issues using JDK Flight Recorder and custom events to detect blocked producer threads.
A developer explores issues building Apache Flink with modern Maven due to blocked HTTP repositories in dependencies, offering troubleshooting insights.
Explores using Postgres 15's new logical decoding row filters with Debezium for efficient change data capture and data privacy.
Investigates unexpected WAL growth and disk space consumption in an idle Postgres database due to an inactive logical replication slot.
A guide to deploying a Quarkus native application built with GraalVM on the Render cloud platform, including configuration and CI/CD setup.
A software engineer explains their decision to join Decodable, a startup building a serverless real-time data platform, focusing on stream processing.
Explores challenges of running Kafka Connect on Kubernetes and proposes a vision for a more Kubernetes-native architecture.
A guide to testing custom Kafka Connect source connectors, covering unit and integration testing strategies with code examples.
A software engineer shares ten practical tips for improving technical conference presentations, focusing on rehearsal, storytelling, and audience engagement.
Explores thread scheduling fairness for CPU-bound workloads in Java's Project Loom, focusing on virtual threads.
A guide to running JDK Mission Control, a Java performance analysis tool, on Apple M1 Macs by configuring it to use an x64 JDK.
Introduces the 'Code Review Pyramid' concept to prioritize important aspects like functionality and performance over style in code reviews.
An exploration of the undocumented JDK Flight Recorder (JFR) file format, detailing its structure and potential uses for analysis.
Explores the three key components of effective error messages for developers: context, the error itself, and mitigation steps.
Announcing the first stable release of kcctl, a modern command-line client for managing Apache Kafka Connect, inspired by kubectl.
Announcing the OSS Quickstart Archetype, a Maven template for bootstrapping modern, opinionated open-source Java projects with best practices.
Explores strategies for handling Kafka producer failures, focusing on trade-offs between consistency and availability in messaging systems.
Explains how to refine Java method return types while maintaining binary compatibility using bridge methods and the Bridger tool.