InfoQ Homepage Java Content on InfoQ
-
Decoupling in Cloud Era: Building Cloud Native Microservices with Spring Cloud Azure
To implement a microservices architecture there are common patterns to use. Spring Cloud realizes these patterns as building blocks, and Spring Cloud Azure takes it one step further.
-
An Introduction to Kotlin for Serverside Java Developers
Kotlin is one of the newer languages on the JVM from JetBrains, the makers of IntelliJ. It is a statically typed language which aims to provide a blend of OO and FP programming styles. Kotlin compiler creates bytecode compatible with the JVM, allowing it to run on the JVM and interoperate with existing libraries. We present the main features that might appeal to Java developers.
-
Natural Language Processing with Java - Second Edition: Book Review and Interview
Natural Language Processing with Java - Second Edition book covers the Natural Language Processing (NLP) topic and various tools developers can use in their applications. Technologies discussed in the book include Apache OpenNLP and Stanford NLP. InfoQ spoke with co-author Richard Reese about the book and how NLP can be used in enterprise applications.
-
Micronaut Tutorial: How to Build Microservices with This JVM-Based Framework
Micronaut is a modern, JVM-based, full-stack framework for building modular and easily testable microservice applications. In this tutorial you will create three microservices written in Java, Kotlin and Groovy that use the framework.
-
Modeling Uncertainty with Reactive DDD
Vaughn Vernon has written several books on DDD and reactive messaging patterns, and has found that the nature of distributed systems means you must deal with uncertainty. How to respond to a missing message, or a message that is received twice, should be a business decision, and therefore must be part of the domain model.
-
Explore the New Java 10 “var” Type: An Introduction and Hands-on Tutorial
Learn about the new Java 10 "var" type, and experiment using JShell with this hands-on tutorial on how to reduce boilerplate code using new type inference for local variables.
-
JShell: A Comprehensive Guide to the Java REPL
JShell provides an interactive shell for quickly prototyping, debugging, and learning Java and Java APIs. In this article, we’ll take a comprehensive look at JShell, understanding all its commands, its uses, and how to use it most effectively.
-
The State of Java Serialization
Java’s Serialization feature has garnered several years' worth of security exploits and zero day attacks. This article discusses the current state of the technology and what can be done, both now and in the future, to protect against serialization flaws.
-
Build a MySQL Spring Boot App Running on WildFly on an Azure VM
How to build a demo site that runs on the WildFly application platform and connects to a MySQL database in the cloud, on Microsoft Azure. The premise seems simple, but the implementation can be tricky, and there is limited documentation on how to set something like this up.
-
Deep Dive into JUnit 5 Extension Model
JUnit 5 is a modular and extensible testing framework with support for Java 8 and higher. The Jupiter extension model can be used to add custom features. This is explained by building out a simple set of extensions that support the BDD approach to testing with full code examples.
-
Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
In enterprise test scenarios, software needs to be tested in the same way as it will run in production. This article provides a practical demonstration of testing Java microservices that are running on Kubernetes with the Istio service mesh. K8s service abstractions enable mocking, and Istio enables us to re-route traffic and inject faulty responses or delays to verify our services' resiliency.
-
Getting to Know Graal, the New Java JIT Compiler
Oracle have released Graal, a new JIT compiler for Java. For Java developers, Graal can be thought of as several separate but connected projects - it is a new JIT compiler for HotSpot, and also a new polyglot virtual machine, GraalVM. The initial release includes support for JVM bytecode and JavaScript with LLVM, Ruby and R in beta.