InfoQ Homepage Java Content on InfoQ
-
Understanding Classic Java Garbage Collection
Java Garbage Collection remains a topic of major interest even after 25 years. Many developers are still confused about the fundamentals of the topic, even of the most widely-used implementation (Parallel on Java 8).
-
Java Feature Spotlight: Text Blocks
Java SE 13 introduced text blocks as a preview feature, aimed at reducing the pain of declaring and using multi-line string literals in Java. It was subsequently refined in a second preview, with minor changes, and is scheduled to become a permanent feature of the Java Language in Java SE 15. In this article Brian Goetz, Java Language Architect at Oracle, provides a deep-dive into the topic.
-
Getting Started with Quarkus
Quarkus created quite a buzz in the enterprise Java ecosystem in 2019. What exactly is Quarkus? How is it different from other technologies established in the market? How can Quarkus help me or my organization? To better explain the motivation behind the Quarkus project, we need to look into the current state of software development.
-
Java's Missing Features: Five Years Later
Ben Evans revisits his take on Java's Missing Features from 2015 and compares how the language has evolved compared to his observations at the time.
-
Spring Boot Tutorial: Building Microservices Deployed to Google Cloud
In this tutorial, the reader will get a chance to create a small Spring Boot application, containerize it and deploy it to Google Kubernetes Engine using Skaffold and the Cloud Code IntelliJ plugin.
-
Build Great Native CLI Apps in Java with Graalvm and Picocli
Compared to other choices, Java is not that convenient for creating simple command-line driven apps - largely due to the need to distribute a sizable runtime. The combination of GraalVM and Picocli aims to change that, by providing native compilation alongside an easy, modern way to handle command-line args.
-
Tutorial: Writing Microservices in Kotlin with Ktor—a Multiplatform Framework for Connected Systems
Ktor (pronounced Kay-tor) is a framework built from the ground up using Kotlin and coroutines. It is a great fit for applications that require HTTP and/or socket connectivity. These can be HTTP backends and RESTful systems, whether or not they’re architectured in a microservice approach.
-
Software, Aesthetics, and Craft: How Java, Lisp, and Agile Shape and Reflect Their Culture
The software industry styles itself on architecture and construction, but rarely discusses aesthetics.
-
Java 14 Feature Spotlight: Records
Java SE 14 (March 2020) introduces records (jep359) as a preview feature. Records aim to enhance the language's ability to model "plain data" aggregates with less ceremony. In this article Java Language Architect Brian Goetz takes a deep dive into the feature.
-
Groovy 3.0 Adds New Java-Like Features
Groovy 3 adds several new features similar to equivalents in Java, including the enhanced for loop, try-with-resources and lambda expressions.
-
Book Review: Developer, Advocate!
Developer, Advocate! is a set of interviews with prominent technologists, covering what drives their interest and enthusiasm in the industry. The brevity of each interview provides direct information and insight that can be read separately at any time, in any order, enabling those with busy schedules to read, put down, and repeat.
-
A Bottom-Up View of Kotlin Coroutines
Recently coroutines have become popular as an alternative to Reactive Programming on the JVM. In many cases the costs of restructuring your code around functional operations for reactive streams outweigh the benefits, so coroutines have emerged, initially for Android, as an alternative solution. This deep dive explores how Kotlin's implementation works under the hood.