Optional Dependencies with requires static
Explains how to use Java's 'requires static' clause for optional dependencies in the Java Platform Module System (JPMS).
Nicolai Parlog (nipafx) is a Java Developer Advocate at Oracle who shares deep insights on Java through blogs, talks, books, videos, and open-source projects, helping developers learn and grow.
297 articles from this blog
Explains how to use Java's 'requires static' clause for optional dependencies in the Java Platform Module System (JPMS).
A guide to using parameterized tests in JUnit 5, including code examples and a demo repository.
Explores techniques for handling checked exceptions within Java 8 Stream operations, proposing solutions and establishing common terminology.
A deep dive into advanced Java 8 topics like lambda APIs, Streams, Optional, and default methods for experienced developers.
Argues against adding an Elvis operator (?.) to Java for null safety, claiming it harms correctness without a non-nullable type system.
An analysis of the perceived decline of Scala, its influence on Java, and its future niche roles in Big Data and DSLs.
Explores the conflict between Java's reflection API and the strong encapsulation introduced by Project Jigsaw's module system in Java 9.
A summary of key talks and announcements from JavaOne 2016, focusing on Java SE 9 features and Java EE 8 updates.
A guide on using Gradle's maven-publish plugin to publish snapshot artifacts to a Maven repository, including POM configuration.
Explores the reasons behind Java 9's repeated delays, focusing on the technical and organizational challenges of Project Jigsaw.
An interview discussing the reasons for JUnit 5's rewrite, its architecture, differences from JUnit 4, and the extension API.
Explores potential future Java features discussed at Devoxx Belgium, including new language syntax and capabilities.
Introduction to a new Java newsletter by editor Nicolai, discussing its purpose and the global Java developer community.
Practical recommendations for effective code reviews based on 18 months of experience and 1500+ reviews, focusing on speed, scope, and process.
A detailed look at Disy's structured code review process, including their 'code buddy' system and principles for effective peer reviews.
A comprehensive guide to the new features and changes in Java 9, covering language updates, APIs, and deprecations.
A rebuttal to common misconceptions and suboptimal practices in Java Streams, using a specific article as a starting point.
A software team's journey from inconsistent practices to establishing a formal, team-wide code review process, including their goals and principles.
Author transitions from a software engineering role at Disy to becoming a Java channel editor at SitePoint, reflecting on lessons learned.
Explains the new Stream::iterate overload in Java 9, which adds a predicate to create finite streams, with examples and caveats.