Building an AI Chatbot Using DeepSeek Models With Spring AI
1. Overview Modern web applications are increasingly integrating with Large Language Models (LLMs) to build solutions. DeepSeek is a Chinese AI research company that develops powerful LLMs and has...
View ArticleJava Weekly, Issue 584
1. Spring and Java >> Java 24 : What’s New? [foojay.io] With the release of Java 24 just around the corner (March 18), let’s take a closer look at all the changes it brings. This release adds...
View ArticleUsing Google Translate API in a Java Application
1. Introduction In this tutorial, we’ll walk through the steps to integrate Google Translate API into a Java application. Google’s translation service supports over 100 languages, and by utilizing the...
View ArticleGradle Equivalents for Maven Commands
1. Introduction Maven and Gradle are the two most popular build automation and dependency management tools that simplify the developer’s job. While Maven is a widely used build automation tool, Gradle...
View ArticleGuide to Disable Spring Security
1. Overview Spring Security is a powerful, highly customizable authentication and access-control framework for Java applications. We’ll outline the purpose of Spring Security and some common scenarios...
View ArticleIntroduction to JanusGraph
1. Introduction In this tutorial, we’re going to look at JanusGraph and Gremlin. JanusGraph is an open-source, massively scalable graph database. It has been designed to support huge graphs – large...
View ArticleComparing Long Values Using Collections.sort()
1. Introduction In this tutorial, we’ll explore how to sort Long values using the Collections.sort() method. Java provides a simple way to sort lists, but when dealing with Long values, we need to...
View ArticleHow to Convert Nested Loops to Stream in Java
1. Introduction The Streams API, introduced in Java 8, revolutionized the way developers process data in Java. It allows for declarative, concise, and efficient handling of data streams, making it...
View ArticleHow to Map a Source Object to the Target List Using MapStruct?
1. Overview In this tutorial, we’ll use the MapStruct library to populate a List in a target object from specific attributes of a source object. While MapStruct primarily relies on mapping annotations...
View ArticleList Matchers with Generics in Mockito
1. Overview When writing unit tests in Java using Mockito, we often need to stub methods that accept generic List parameters, such as List<String>, List<Integer>, etc. However, due to...
View ArticleDecreasing IntelliJ RAM Usage
1. Introduction IntelliJ IDEA is a popular IDE, but its high RAM usage can slow down performance, especially when working on large projects. Moreover, excessive memory consumption may lead to system...
View ArticleDifference Between Apache Camel and Apache Kafka
1. Overview Apache Camel and Apache Kafka are frequently mentioned when discussing messaging integrations. Although both are powerful tools used in distributed systems and enterprise integration, they...
View ArticleJava Weekly, Issue 585
1. Spring and Java >> Null Safety in Spring applications with JSpecify and NullAway [spring.io] The Spring framework is moving to explicit null-safety by adopting JSpecify annotations and...
View ArticleEnable HTTP2 with Tomcat in Spring Boot
1. Overview HTTP/2 is the successor of the widely used HTTP/1.1 protocol, which improves web performance via the adoption of new functionalities such as multiplexing and header compression. In this...
View ArticleLabeled Breaks in Java: Useful Tool or Code Smell?
1. Overview Java has supported labeled break and labeled continue since Java 1.0, with no subsequent changes, making them a consistent part of Java’s control flow arsenal. It lets developers exit...
View ArticleIntroduction to J2CL
1. Overview J2CL allows us to write web applications in Java and compile them into optimized JavaScript, making it a powerful tool for leveraging the Java ecosystem while targeting modern browsers. By...
View ArticleThe OpenAI API Java Client
1. Introduction In this article, we’ll walk through the process of integrating OpenAI’s Java Client API. We’ll start by setting up the Java client in our development environment, authenticating our API...
View ArticleIntegrating Jolokia With Spring Boot
1. Overview It’s common practice to monitor Java applications for performance and stability. Spring Boot provides this monitoring capability via Actuators. However, we may need more fine-grained...
View ArticleComparing Java Stream and Flux.fromIterable()
1. Introduction In this tutorial, we’ll compare Java Stream and Flux.fromIterable(). We’ll start by exploring their similarities and then dive into their key differences. 2. Java Stream Overview A...
View ArticleDynamically Ignoring Fields in Jackson
1. Introduction In this tutorial, we’ll learn how to ignore fields dynamically in Jackson. This is useful when we want to serialize and deserialize the same object differently, based on particular...
View Article