InfoQ Homepage Java Content on InfoQ
-
Upgrading from Java 8 to Java 12
Why upgrade to Java 12? Lots of things have changed since Java 8: licensing, updates and support. On top of that, there are new language features. Now that major libraries, frameworks and build tools have adopted the latest versions of Java, it is a good time to migrate your application to Java 12.
-
How Expedia Is Getting Rid of Java Bean Transformers
Expedia created and released BULL, an open-source Java Bean transformer library that can automatically transform all kinds of beans, including immutable and mixed beans, not just the traditional mutable case.
-
Tap Compare Testing with Diferencia and Java Microservices
“Tap compare” is a testing technique that allows you to test the behavior and performance of the new service by comparing its results against the old service. This article provides an example of using a new open source tool, Diferencia, and mirroring production traffic across both old and new services to compare the difference in result.
-
Automating Your Java Project Workflow with a Modified Gitflow Branching Model
Gitflow is a collaborative branching model that attempts to exploit the power, speed and simplicity of Git branching. But documentation for Gitflow in an automated build, integrate, and deploy environment is sparse. This article provides a flavor of Gitflow that can be used in an automated build environment.
-
The Complete Guide to the Java SE 12 Extended Switch Statement/Expression
A complete guide to Java SE 12 extended switch statement/expression. This article contains details on the proposed extension to the Java switch statement that allows it to be used as either an enhanced switch statement or a switch expression. Examples are included.
-
Rewriting an API Gateway Service from Clojure to Golang: AppsFlyer Experience Report
AppsFlyer processes nearly 70+ billion HTTP requests a day, and is built using a microservices architecture style. The entry point to the system that wraps all of the frontend services is a mission-critical (non-micro) service called the API Gateway. This article is an experience reporting of migrating from a Clojure-based gateway to a newly designed Go-based implementation.
-
Headless Selenium Browsers
Selenium is a well-known, powerful tool for automated testing in web browsers. While Selenium Web driver supports all the major browsers, you don’t always want the costs of testing in a real browser.
-
Super Charge the Module Aware Service Loader in Java 11
Uday Tatiraju describes the service loading mechanism in Java and the changes made to it in order to support the native Java module system. Tatiraju also discusses an experimental library called Susel that can assist developers in building modular and extensible applications that leverage the native Java module system. The library removes the boilerplate code required to locate and load services.
-
Book Review: Optimizing Java
InfoQ reviewed the book Optimizing Java, a comprehensive in-depth look at performance tuning in the Java programming language written by Java industry experts, Ben Evans, James Gough and Chris Newland. InfoQ spoke to the authors for more insights on their experiences, learnings and obstacles in authoring this book.
-
Understanding Blockchain Basics and Use Cases
We discuss the two main types of blockchain solution, and some of the major variants deployed today. Use cases for the different solutions are also explored.
-
Micronaut Tutorial: Part 2: Easy Distributed Tracing, JWT Security and AWS Lambda Deployment
In this second Micronaut tutorial article we are going to add several features to our app: distributed tracing, security via JWT and a serverless function. Moreover, we will discuss the user input validation capabilities offered by Micronaut.
-
Stateful Service Design Considerations for the Kubernetes Stack
At this summer’s QCon in New York, Jonas Bonér delivered one of the most popular talks of the conference with his focus on Designing Events-First Microservices. In this InfoQ Q&A, we asked Bonér to explain how “bringing bad habits from monolithic design” is a road to nowhere for service design, and where he sees his Akka framework fitting in the cloud-native stack.