InfoQ Homepage Java Content on InfoQ
-
Dealing with Java CVEs: Discovery, Detection, Analysis, and Resolution
This article delves into the importance of integrating Software Composition Analysis (SCA) in CI/CD pipelines for security. It highlights the need for human oversight to accurately assess vulnerability impact and cautions against "alert fatigue." The article also recommends specialized tools for effective vulnerability management.
-
Streamlining Code with Unnamed Patterns/Variables: a Comparative Study of Java, Kotlin, and Scala
Explore the use of the Unnamed Patterns/Variables in programming languages like Java, Kotlin, and Scala. Enhancing code readability, allowing omission of unnecessary components, and simplifying code are key features. Expect further innovative uses as languages evolve.
-
Leveraging Eclipse JNoSQL 1.0.0: Quarkus Integration and Building a Pet-Friendly REST API
Eclipse JNoSQL 1.0.0 modernizes NoSQL integration with advanced features, standardized specs (Jakarta NoSQL & Jakarta Data), enhanced queries, schema migration, and Quarkus framework compatibility. It simplifies NoSQL use, boosts performance, scalability, and integrates seamlessly, empowering developers with tools to streamline data management in modern apps.
-
Evolving the Federated GraphQL Platform at Netflix
This article describes the journey of the migration towards a Federated GraphQL architecture. Specifically, it shows the GraphQL platform Netflix has built consisting of the Domain Graph Services framework for implementing GraphQL services in Java using Spring Boot and graphql-java, and tools for schema development. It also describes how the ecosystem has evolved at various stages of adoption.
-
A Comprehensive Guide to Java's New Feature: Pattern Matching for Switch
Java brings an update with Pattern Matching for Switch. This article provides a detailed exploration of this feature, examining its support for any reference type, inclusion of null values, and introduction of guarded patterns. It also delves into the new runtime exception class - MatchException, and illustrates the compatibility of this feature with traditional switch statements.
-
Exploring Java Records beyond Data Transfer Objects
Records are a concise and easy-to-use syntax for creating immutable classes. By using Records, you can ensure that your APIs are bulletproof and less prone to errors. Additionally, Records can be applied with Domain-Driven Design (DDD) principles to create more robust and maintainable code. Learning to use Records and apply them with DDD can help you make more resilient and scalable applications.
-
How to Manage Full-Stack Java Development with Hilla
This article explores Hilla, an open-source framework that offers an approach to web application development by integrating a Spring Boot Java backend with a reactive TypeScript frontend. It uses either Lit or React, combined with Vaadin’s 40+ open-source UI web components for interface creation. It also generates REST APIs and client access codes, a secure, stateless backend architecture.
-
A Guide to the Quarkus 3 Azure Functions Extension: Bootstrap Java Microservices with Ease
A guide to using Azure Functions with Quarkus 3, for HTTP and non-HTTP functions. Covers newer native integration for serverless functions.
-
Easy Implementation of GDPR with Aspect Oriented Programming
GDPR compliance should be a default feature in every application that handles PII (Personally Identifiable Information). Most organizations have an impression that GDPR is a luxury feature that needs special tools to implement. But, we can see that the frameworks and design patterns we already use in our everyday development can very well be used to implement the GDPR rules.
-
Unleash the Power of Open Source Java Profilers: Comparing VisualVM, JMC, and async-profiler
This article conveys the foundational concepts and different types of Open Source Java profilers. It allows you to choose the best-suited profiler for your needs and comprehend how these tools work in principle. The aim of a profiler is to obtain information on the program execution so that a developer can see how much time a method executed in a given period.
-
Migrate a RMI-Based Legacy Application to WebSocket
Technical debt, especially in enterprise software, is a relevant problem that developers recurrently have to face. This article provides a use case related to removing technical debt in a large enterprise application based on an old fashioned Remote Method Invocation (RMI) protocol, and migrating it toward modern cloud-aware communication technologies.
-
Rapid Startup of Your Cloud-Native Java Applications without Compromise
This article discusses the significance of startup time in cloud-native computing, highlighting challenges for JVM-based apps. It introduces Liberty InstantOn, which boosts startup times using checkpoint/restore technology, offering fast startup without compromising Java capabilities or facing static compilation trade-offs.