InfoQ Homepage Java Content on InfoQ
-
Getting Started with Microservices in SpringBoot
Enterprises have learned to create software using agile processes, but we are still producing large monolithic beasts of software. If you are not already using Microservices, you are safely out of the early adopter phase of the adoption curve. This article will help you get started creating, discovering, and calling Microservices.
-
InfoQ Call for Articles
InfoQ provides software engineers with the opportunity to share experiences gained using innovator and early adopter stage techniques and technologies with the wider industry. We are always on the lookout for quality articles and we encourage practitioners and domain experts to submit feature-length (2,000 to 3,000 word) papers that are timely, educational and practical.
-
Understanding Monads. A Guide for the Perplexed
With the current explosion of functional programming, the "monad" functional structure is once again striking fear into the hearts of newcomers. In this article, Introduction to Functional Programming course instructor Dr. Barry Burd clarifies this slippery critter.
-
Building Reactive Systems Using Akka’s Actor Model and Domain-Driven Design
With the explosion of mobile and data-driven applications, users are demanding real-time access to everything everywhere. System resilience and responsiveness are essential business requirements. Businesses increasingly need to trade up to more flexible, "reactive" systems. To support reactive development, actor models with domain-driven design can fulfill modern resiliency requirements.
-
The Java Evolution of Eclipse Collections
With each successive version of Java, frameworks must adapt and transform in order to stay current. This article aims to describe some of the new Java 8 features in Eclipse Collections, a high performance collections framework for Java, and looks ahead at some of the new things we’ve done to prepare for Java 9. This article will walk through these new features and changes.
-
Cost Reduction Strategies on Java Cloud Hosting Services
On the fly, automatic vertical scaling can lower the cost of exceeding VM limits, and gives flexibility in resource allocation. In this article we will cover techniques for determining whether automatic vertical scaling can help, and how to get it configured for your project.
-
Perspective on Architectural Fitness of Microservices
In this article we peel the onion of potential architectural fitness of microservices in the context of Master Data Management, and the challenges a microservices-based architecture may face when solving problem domains that require compute-intensive tasks, such as the calculation of expected losses on a portfolio of unsecured consumer credit.
-
Automated Journey Testing with Cascade
Starting with a brief history of software testing, we investigate Cascade, a new framework for testing “journeys”, eliminating overlapping coverage to produce fast unit tests.
-
Painlessly Migrating to Java Jigsaw Modules - a Case Study
This article is a case study of changes required in an application to make use of the new Java Platform Module System. An understanding of the module system will become an important skill for Java developers, using Java 9 and beyond.
-
Introducing Reladomo - Enterprise Open Source Java ORM, Batteries Included! (Part 2)
Goldman Sachs is widely known as a leader in investment banking, but they are very much a leading technology firm as well. Continuing our exploration of Reladomo, the primary Java ORM used at GS and now open source, GS Technology Fellow, Mohammad Rezaei looks at advanced features, such as sharding, caching, bitemporal access, performance, and testing.
-
Under The Hood with the JVM's Automatic Resource Management
The deprecation of Object::finalize is an unusual step for the Java ecosystem. We dive deep into the Hotspot JVM to see how it works. We also compare it to RAII and the Java 7, try-with-resources syntax. The article contrasts these very different approaches to automatic resource management, and explains why TWR should be used in place of finalization by application programmers.
-
Want to Know What’s in a GC Pause? Go Look at the GC Log!
Sometimes a superficial analysis of our application performance can incorrectly have the Garbage Collector point to itself. A proper GC log analysis can lead us past the “blame the collector” game. When this happens, we can make amazing discoveries that improve the performance and stability of our applications.