OnlyJava is your source for Blog Aggregation in the Java industry

Javalobby - The heart of the Java developer community

View This Blog Frequency: 0.0 posts / day

 

JUnit, 4, 5, Jupiter, Vintage

 Mark As Read    

After JUnit 5 was released, a lot of developers just added this awesome new library to their projects, because unlike other versions, in this new version, it is not necessary to migrate from JUnit 4 to 5, you just need to include the new library in your project, and with all the engine of JUnit 5 you can do your new tests using JUnit 5, and the old...

Building a Performant Application Using Netty Framework in Java

 Mark As Read    

Netty is a powerful, asynchronous, event-driven networking framework for building high-performance, scalable applications. It simplifies the development of network applications by providing an easy-to-use API and robust abstractions for handling various networking protocols and data formats. Key features and benefits of Netty include:

Optimizing Robotics Applications Performance

 Mark As Read    

In this post, we would like to share our real-world experience in optimizing a Java application that was controlling the robots in a warehouse. This application would give instructions to the robots in the warehouse on what actions to perform. Based on those instructions, robots carry out their job in the warehouse. Occasionally, this application w...

Test Parameterization With JUnit 5.7: A Deep Dive Into @EnumSource

 Mark As Read    

Parameterized tests allow developers to efficiently test their code with a range of input values. In the realm of JUnit testing, seasoned users have long grappled with the complexities of implementing these tests. But with the release of JUnit 5.7, a new era of test parameterization enters, offering developers first-class support and enhanced capab...

CRUDing NoSQL Data With Quarkus, Part Two: Elasticsearch

 Mark As Read    

In Part 1 of this series, we looked at MongoDB, one of the most reliable and robust document-oriented NoSQL databases. Here in Part 2, we'll examine another quite unavoidable NoSQL database: Elasticsearch. More than just a popular and powerful open-source distributed NoSQL database, Elasticsearch is first of all a search and analytics engine. It is...

Mastering Exception Handling in Java Lambda Expressions

 Mark As Read    

Effective exception management is pivotal for maintaining the integrity and stability of software applications. Java's lambda expressions offer a concise means of expressing anonymous functions, yet handling exceptions within these constructs presents unique challenges. In this article, we'll delve into the nuances of managing exceptions within Jav...

Feature Flags and Canary Releases in Microservices

 Mark As Read    

Feature flags are commonly used constructs and have been there for a while. But in the last few years, things have evolved and feature flags are playing a major role in delivering continuous risk-free releases. In general, when a new feature is not fully developed and we still want to branch off a release from the mainstream, we can hide our new fe...

COBOL to JOBOL? A Poor Choice for Modernization

 Mark As Read    

The enduring prevalence of COBOL (Common Business-Oriented Language) in mission-critical applications poses a challenge for modernization efforts, particularly in the transition to Java. This paper explores the intricacies of converting COBOL to Java, emphasizing the avoidance of JOBOLa term coined for Java code that retains procedural characterist...

Streaming Real-Time Data From Kafka 3.7.0 to Flink 1.18.1 for Processing

 Mark As Read    

Over the past few years, Apache Kafka has emerged as the leading standard for streaming data. Fast-forward to the present day: Kafka has achieved ubiquity, being adopted by at least 80% of the Fortune 100. This widespread adoption is attributed to Kafka's architecture, which goes far beyond basic messaging. Kafka's architecture versatility makes it...

Debugging Using JMX Revisited

 Mark As Read    

Debugging effectively requires a nuanced approach, similar to using tongs that tightly grip the problem from both sides. While low-level tools have their place in system-level service debugging, today's focus shifts towards a more sophisticated segment of the development stack: advanced management tools. Understanding these tools is crucial for dev...

Harnessing the Power of SIMD With Java Vector API

 Mark As Read    

In the world of high-performance computing, utilizing SIMD (Single Instruction, Multiple Data) instructions can significantly boost the performance of certain types of computations. SIMD enables processors to perform the same operation on multiple data points simultaneously, making it ideal for tasks like numerical computations, image processing, a...

Java Thread Dump Analysis

 Mark As Read    

Thread dump analysis is a traditional approach followed to analyze the performance bottlenecks in Java-based applications. In the modern era, we have APM tools that provide various metrics and screens to drill down and identify performance issues, even at the code level. But for some of the performance issues or occasions, thread dump analysis stil...

Automatic Snapshots Using Snapshot Manager

 Mark As Read    

Overview AWS has a Lambda function that can be leveraged to take automatic snapshots of the KDA (Kinesis Data Analytics) applications that are running in a specific region. Refer the Lambda function source code here. Users can modify the Lambda function to their needs. Note: As of August 30, 2023, Amazon Kinesis Data Analytics (KDA) has been rename...

Spring RestTemplate to WebClient Causes OutOfMemoryError

 Mark As Read    

Spring Boot is a highly popular framework for Java enterprise applications. One common method of integration with internal or external applications is through HTTP REST connections. We were upgrading from RestTemplate to the Java NIO-based WebClient, which can significantly enhance application performance by allowing concurrency when calling REST s...

Journey Through Java Execution: From Loader to Memory Model

 Mark As Read    

Ever wondered what happens behind the scenes when you hit that "run" button on your Java program? The process involves a series of complex steps, from compiling and loading the code into memory to managing data in data structures like the heap and stack. Here, we'll explore the steps of running a basic Java program, highlighting the roles of the lo...

Dapr For Java Developers

 Mark As Read    

In this article, learn how the Dapr project can reduce the cognitive load on Java developers and decrease application dependencies. Coding Java applications for the cloud requires not only a deep understanding of distributed systems, cloud best practices, and common patterns but also an understanding of the Java ecosystem to know how to combine ma...

Foreign Function and Memory API: Modernizing Native Interfacing in Java 17

 Mark As Read    

Java 17 heralds a new era in Java's evolution, bringing forth the Foreign Function and Memory API as part of its feature set. This API, a cornerstone of Project Panama, is designed to revolutionize the way Java applications interact with native code and memory. Its introduction is a response to the long-standing complexities and inefficiencies asso...

Unlocking the Power of Oracle NoSQL With Quarkus: Seamless Integration for Cloud-Age Applications

 Mark As Read    

In todays digital landscape, the demand for scalable, high-performance databases that can seamlessly integrate with modern application frameworks is ever-growing. While reliable, traditional relational databases often need help keeping pace with the dynamic requirements of cloud-native applications. It has led to the rise of NoSQL databases, offeri...

Code Complexity in Practice

 Mark As Read    

Imagine entering a bustling workshop - not of whirring machines, but of minds collaborating. This is the true essence of software programming at its core: a collective effort where code serves not just as instructions for machines, but as a shared language among developers. However, unlike spoken languages, code can often become an obscure dialect,...

A Financial Anti-Fraud Solution Based on the Apache Doris Data Warehouse

 Mark As Read    

Financial fraud prevention is a race against time. Implementation-wise, it relies heavily on the data processing power, especially under large datasets. Today, I'm going to share with you the use case of a retail bank with over 650 million individual customers. They have compared analytics components, including Apache Doris, ClickHouse, Greenplum, ...

Are We There Yet? When Do We Move to GraalVM?

 Mark As Read    

This is the perfect time to raise this point just as Spring Native is coming to the forefront. Is it time to move to GraalVM? Spoiler: it depends. Yes, if youre building serverless, probably no if youre building pretty much anything else with a few exceptions for some microservices. Before I begin, I want to qualify that Im talking about native i...

How To Validate JSON Request Body in Spring Boot

 Mark As Read    

We sometimes encounter server errors caused by a user providing input that's longer than the database column size or even a non-existent ENUM value. Do not trust user input is a popular cliche that, if implemented, will save a lot of time and resources down the line. That is why, in this article, we will be looking at the request-validator library,...

Business Process Modeling: The Practice of Using Camunda BPM in Java Development

 Mark As Read    

Today, I'd like to share with you the application of Camunda BPM in Java development. In this article, Ill talk about the key components of the Camunda Business Process Management system. Also, Ill show the system's deployment, modeling, and deployment of a simple process. Let's first understand the terminology and find out what BPM, BPMS, and BPMN...

Data Type Conversions in Java

 Mark As Read    

Unlike PHP or JavaScript, Java is a strongly typed programming language. It essentially means that each variable must be declared with a pre-defined data type that can not be changed afterwards. There are two data types in Java: Primitive data types - int, double, float, byte, long, boolean, etc. Reference data types - Integer, Double, Float, ...

Gradle: Push to Maven Repository

 Mark As Read    

If you are a developer sharing your artefacts is a common task, that needs to be in place from the start. In most teams and companies a Maven repository is already set up, this repository would be used mostly through CI/CD tasks enabling developers to distribute the generated artefacts.

Troubleshooting App Unresponsiveness Due to Oracle DB

 Mark As Read    

Recently we encountered a production in an application. This application was connecting to multiple systems of records (SOR). Oracle RAC cluster is one of the primary systems of record. This Oracle RAC cluster was slowing down due to resource constraints. This slowdown in the Oracle RAC cluster degraded the entire applications response time. In thi...

Java Records Etched in Finality

 Mark As Read    

This article uses a story format to show the concept of records in Java. It shows the different concepts and parts that make up the records, including a restricted identifier, java.lang.Record, Components, Canonical, Compact, Normal constructors, and more. The Minimalist A Resolution Working from home has taught some of us to think of being ...

Event Stream Programming Unplugged Part 1

 Mark As Read    

Welcome to event streaming unplugged; this is the first in a series of articles covering the topic of real-time event stream processing. This is a practical programming series with resources at unplugged part 1. What you will learn in these articles: The basics of unbounded event processing. Functional reactive programming introducing con...

Mock gRPC Services for Unit Testing

 Mark As Read    

In our day-to-day work, we develop applications that include interactions with software components through I/O. They can be a database, a broker, or some form of blob storage. Take, for example, the cloud components you interact with: Azure Storage Queue, SQS, Pub/Sub. The communication with those components usually happens with an SDK. From the st...

JavaOne 2022: Java Continues to Evolve

 Mark As Read    

I met with Georges Saab, Senior Vice President, Java Platform Group, Oracle Chair, OpenJDK Governing Board following his keynote at JavaOne. This was the first JavaOne conference since 2017 and was held in conjunction with Oracle Cloud World. Java has been around for 27 years. It continues to be an important language for enterprises and developers....

Great Time at JavaZone 2022

 Mark As Read    

I had a pretty awful travel experience trying to reach Oslo, but its all worth it for what is possibly my favorite conference: JavaZone. I absolutely love this conference. It has everything: Sense of humor, craziness, heavy metal, continuous integration of food and amazing talks with great people. This years conference has a fantasy theme which fit...

Exceptions in Lambdas

 Mark As Read    

Java introduced the concept of checked exceptions. The idea of forcing developers to manage exceptions was revolutionary compared to the earlier approaches. Nowadays, Java remains the only widespread language to offer checked exceptions. For example, every exception in Kotlin is unchecked.

Trick the JVM for Maximum Performance With Megamorphic Call Sites

 Mark As Read    

The JVM does great stuff to let our Java applications run the fastest way possible. Most of the time, you don't have to care about the internals, but if you really need to get the best performance, you need to take into account how JVM works. It's not the goal of this article to give a detailed introduction to this topic but merely to show how our ...

How To Create Asynchronous and Retryable Methods With Failover Support

 Mark As Read    

While developing an application, we need to make some processing more robust and less fault-tolerant, especially when requesting remote services that may remain down for a long duration. In this article, we will introduce a new framework that aims to provide a declarative non-blocking retry support for methods in Spring-based applications using ann...

Querydsl vs. JPA Criteria, Part 2: Metamodel

 Mark As Read    

This is the second article in my series dedicated to the Querydsl framework. I planned to shed light on the custom queries, as promised in the first article, but I decided to explain the metamodel usage first in order to simplify the explanation later on. So far, this series contains these articles:

Java Is Very Fast if You Dont Create Many Objects

 Mark As Read    

This article looks at a benchmark passing events over TCP/IP at 4 billion events per minute using the net.openhft.chronicle.wire.channel package in Chronicle Wire (open source) and why we aim to avoid object allocations. One of the key optimizations is creating almost no garbage. Allocation is supposed to be a very cheap operation, and garbage col...

Infrastructure as Code (IaC) for Java-Based Apps on Azure

 Mark As Read    

The Evolution of Java Over the past several years, the Java ecosystem landscape has evolved from monolith Java EE applications running on application servers and the Spring Framework to modern smaller-footprint Spring Boot, MicroProfile, and Jakarta EE microservices. Today, more Java developers are looking at how they can bring their existing Java ...

High Availability with MySQL Fabric: Part II

 Mark As Read    

Originally written by Fernando Ipar and Martin Arrieta This is the third post in our MySQL Fabric series. If you missed the previous two, we started with an overall introduction, and then a discussion of MySQL Fabrics high-availability (HA) features. MySQL Fabric was RC when we started this series, but it went GA recently. You can read the press re...

Heres how Bell was Hacked: SQL Injection Blow-by-Blow

 Mark As Read    

OWASPs number one risk in the Top 10 has featured prominently in a high-profile attack this time resulting in the leak of over 40,000 records from Bell in Canada. It was pretty self-evident from the original info leaked by the attackers that SQL injection had played a prominent role in the breach, but now we have some pretty conclusive evidence of ...

Five Ways of Synchronising Multithreaded Integration Tests

 Mark As Read    

A few weeks ago I wrote a blog on synchronizing multithreaded integration tests, which was republished on DZone Javalobby from where it received a comment from Robert Saulnier who quite rightly pointed out that you can also use join() to synchronize a worker thread and its unit tests. This got me thinking, just how many ways can you synchronise mul...

Easily Find & Kill MongoDB Operations from MongoLabs UI

 Mark As Read    

A few months ago, we wrote a blog post on finding and terminating long-running operations in MongoDB. To help make it even easier for MongoLab users* to quickly identify the cause behind database unresponsiveness, weve integrated the currentOp() and killOp() methods into our management portal. * currentOp and killOp functionality is not available o...

The Difference Between TokuMX Partitioning and Sharding

 Mark As Read    

In my last post, I described a new feature in TokuMX 1.5partitioned collectionsthats aimed at making it easier and faster to work with time series data. Feedback from that post made me realize that some users may not immediately understand the differences between partitioning a collection and sharding a collection. In this post, I hope to clear tha...

Designing Search (part 3): Keeping on track

 Mark As Read    

Part 1 In the previous post we looked at techniques to help us create and articulate more effective queries. From auto-complete for lookup tasks to auto-suggest for exploratory search, these simple techniques can often make the difference between success and failure. But occasionally things do go wrong. Sometimes our information journey is more co...

In Defense of Scala. Response to "I Dont Like Scala"

 Mark As Read    

There were several posts lately critical of Scala language, specifically this onehttps://dzone.com/articles/i-dont-scala. It is a well written, critical of Scala post by someone who clearly prefers other languages (i.e. Java) at this point.

What Is Transaction Management in Java?

 Mark As Read    

In this tutorial, we will discuss transaction management in Java using examples. But before moving to transaction management, we should know what a transaction is. Therefore, the following are some important points about transactions for better understanding: A transaction is a segment of program execution that accesses and can alter different pi...

Top Commonly Used JavaScript Functions

 Mark As Read    

Functions are one of the most important aspects of JavaScript. Without JavaScript functions, it would be very limited. Functions in JavaScript are used to perform a certain action or task. They can be written into the code, or they can be created using the Function constructor.

Designing and Querying JSON in Databend

 Mark As Read    

JSON (JavaScript Object Notation) is a commonly used semi-structured data type. With the self-describing schema structure, JSON can hold all data types, including multi-level nested data types, such as Array, Object, etc. JSON takes advantage of high flexibility and easy dynamic expansion compared with the structured data types that must strictly f...

Develop a Full-Stack Java Application With Kafka and Spring Boot

 Mark As Read    

What You Will Build You will build a full-stack reactive web app that sends and receives messages through Kafka. The app uses Spring Boot and Java on the server, Lit and TypeScript on the client, and the Hilla framework for components and communication. What You Will Need 20 minutes Java 11 or newer Node 16.14 or newer An IDE that supports...

Inspect the Contents of the Java Metaspace Region

 Mark As Read    

JVM Memory has the following regions: Young Generation Old Generation Metaspace Others region

Top Posts of 2013: 10 Subtle Best Practices when Coding Java

 Mark As Read    

this is a list of 10 best practices that are more subtle than your average josh bloch effective java rule. while josh blochs list is very easy to learn and concerns everyday situations, this list here contains less common situations involving api / spi design that may have a big effect nontheless. i have encountered these things while ...

Java
Welcome!
OnlyJava aggregates blogs for the Java industry.
Custom Feeds
Add any RSS feed to the information you read daily.
Blocked Feeds
Block feeds to remove blogs you’re not interested in.
Account Settings
Customize the site by adding or removing feeds.

About Us

OnlyJava is your source for all your Java news.

Have a Suggestion for Us?
Know of a Java blog that we're missing? Let us know!

Share OnlyJava.com