Dp you want to dramatically decrease JVM startup time, from hundreds of seconds to tenths of milliseconds? Find out about Java on CRaC. The post Introducing the OpenJDK “Coordinated Restore at Checkpoint” Project appeared first on foojay. | Continue reading
Hello and welcome back to the Java Panama Polyglot series where we will be presenting quick tutorials or recipes on how to access native libraries written in other languages. In Part 1 you got a chance to learn about how to use ... The post Java Panama Polyglot (Swift) Part 2 ap … | Continue reading
Let's explore ten Java programming features used frequently by developers in their day-to-day programming jobs. The post Top 10 Java Language Features appeared first on foojay. | Continue reading
When simple web content or responses are required, Java 18 reduces the need to search for more complicated solutions like Jetty and Netty. The post How to Create APIs with the Java 18 jwebserver Ready for Docker appeared first on foojay. | Continue reading
Where should you add logs in a method? Should you log in this method? If so what should you include in the log? How to phrase the message? The post Logging Best Practices: MDC, Ingestion, and Scale appeared first on foojay. | Continue reading
In this post we're going to migrate some sample code from the `javax` namespace to `jakarta` using IntelliJ IDEA's migration tool. The post Migrating from Java EE to Jakarta EE with IntelliJ IDEA appeared first on foojay. | Continue reading
Let’s embark on an epic journey to the wonderland of java native memory to the level of OS while investing in a non-trivial memory issue. The post Quest to the OS: Java Native Memory appeared first on foojay. | Continue reading
On March 30, 2022, a critical remote code execution (RCE) vulnerability was found in the Spring Framework. More specifically, it is part of the spring-beans package, a transitive dependency in both spring-webmvc and spring-webflux. This vulnerability is another example of why sec … | Continue reading
Java Panama Polyglot series: quick tutorials or recipes on how to access native libraries written in other languages! The post Java Panama Polyglot (C++) Part 1 appeared first on foojay. | Continue reading
Let's examine a program selection control mechanism, for a value, expression or variable type to influence program flow execution, for Switch. The post Examining the Switch Statement and the Factory Pattern in Three JVM Languages appeared first on foojay. | Continue reading
From experience, I have seen three big mistakes every junior software developer makes that could easily be solved. The post Three Mistakes Junior Software Developers Make Preventing Getting Hired On Amazing Projects appeared first on foojay. | Continue reading
Learn the basics of styling a Vaadin application using Cascading Style Sheets (CSS). The guide covers the basics of creating a custom theme, how to override Lumo values, and how to selectively style views and components. The post How to Style a Vaadin Application appeared first o … | Continue reading
Java Architecture for XML Binding (AKA JAXB API) is a popular API for marshalling XML data. It's a framework for mapping between XML documents and Java POJOs (Plain Old Java Objects, AKA regular Java classes) almost seamlessly. The API is ... The post Debugging JAXB Production Is … | Continue reading
Java is infamous for its NullPointerException: calling a method or accessing an attribute of an object that has not been initialized. The post Handling Null: Optional and Nullable Types appeared first on foojay. | Continue reading
In this article, learn about TornadoVM, hardware acceleration, and get a thorough overview of the TornadoVM software architecture. The post Hardware Acceleration For Java? TornadoVM Can Do It! appeared first on foojay. | Continue reading
I'd like to start by saying that I'm not a security expert. I also won't link to the exploit. This is a very fresh take on a new vulnerability but there's already confirmation from Sonatype. The current exploit seems to ... The post Spring Remote Code Execution Vulnerability appe … | Continue reading
Watch a 10 minute discussion on Log4j, security processes and prioritization, and how Payara dealt with the vulnerability. The post Quick Fire Java: Java After Log4j appeared first on foojay. | Continue reading
Learn about observability configurations and libraries required over a range of frameworks using two JVM languages, namely Java and Kotlin. The post Observability for JVM Frameworks with Grafana in Java and Kotlin appeared first on foojay. | Continue reading
In this article you will learn how to switch between two different Java runtime environments to run an Apache Kafka instance. The post Increasing Event Streaming with Kafka and Azul appeared first on foojay. | Continue reading
Hashcode and equals are at the crux of many hard to nail down Java performance issues. Here's how to track these in production! The post Debugging Java Equals & Hashcode Performance in Production appeared first on foojay. | Continue reading
Starting with Apache APISIX as your API Gateway is easy as pie. Use Docker, with the APISIX and etcd images, and off you go. The post APISIX: An API Gateway the Apache Way appeared first on foojay. | Continue reading
Thanks to Vaadin, you can get a fully running application with a few clicks. And Adding GPIO-interaction is easy with the Pi4J library. The post Blink a LED on Raspberry Pi with Vaadin appeared first on foojay. | Continue reading
Even while threads are helpful, they are dreadful to many developers. Here are five essential threading concepts for Java developers! The post 5 Things You Probably Didn’t Know About Java Concurrency appeared first on foojay. | Continue reading
A demonstration of log4j exploits, which defenses people tried, and which worked. A look at open source funding models, subscriptions, and bug bounty programs to see why it's sometimes hard to donate. The post Java Security: Log4J, the SecurityManager, and Funding appeared first … | Continue reading
Debugging race conditions is hard, unfortunately production environments are especially problematic for these kinds of problems! The post Debugging Race Conditions in Production appeared first on foojay. | Continue reading
Time runs forward without compromise! The six month release period is over and, similar to people expecting spring and nice weather, the Java community is excited about the next OpenJDK release, this time holding the number 18. Yes, Java 18 ... The post What’s New and Exciting in … | Continue reading
In this post, I'd like to describe how a couple of popular languages cope with errors. Get started here for an overview of errors everywhere! The post Error Handling in Java and Across Different Languages appeared first on foojay. | Continue reading
Introduction of Generics Generics are meant to be used to parameterize types. A piece of code can be written generically enough so that we can fit a variety of types in it. Being a strongly type-safe language, java requires to ... The post All about Generics: Part 1 appeared fir … | Continue reading
The K8ssandra team is pleased to announce the release of Reaper 3.1. Let’s dive into the features and improvements that 3.0 recently introduced (along with some notable removals) and how the newest update to 3.1 builds on that. JDK11 support Starting with 3.1.0, ... The post Reap … | Continue reading
Learn about common threats, vulnerabilities, and misconfiguration including the recently disclosed issues in Log4j. The post Security Warning: Your Java Attack Surface Just Got Bigger appeared first on foojay. | Continue reading
In episodes 4 and 5 of “140 Second Ducklings”, I got deeper into the more advanced underpinnings of breakpoints. There’s still a lot more to learn to move forward, but even at this stage it’s surprising how many things are ... The post The Basics Of Breakpoints You Might Not Know … | Continue reading
In preparation for the upcoming Developer Observability Masterclass we’re hosting at Lightrun with Thoughtworks and RedMonk, I sat down for a brief interview with Tom Granot - the Director of Developer Relations at Lightrun. Tom will MC the event as ... The post Interview with To … | Continue reading
Analyzing and visualizing message flows between business functions was the goal of my current project. Learn about where Vaadin and Neo4J fit in! The post Visualization of the Message Flow between Business Functions with Vaadin and Neo4j appeared first on foojay. | Continue reading
After many discussions with Java developers, combined with my personal experiences with the Java community and platform, here are the key reasons why Java developers love Java after all these years! The post 7 Reasons Why, After 26 Years, Java Still Makes Sense! appeared first on … | Continue reading
An exciting part of software development is what was unanimously considered good practice at one point in time can be more ambiguous years later. Or even plain wrong. However, you generally need to do it multiple times over time to ... The post Lessons learned from previous proje … | Continue reading
JDKMon is a little tool written in JavaFX that tries to detect all OpenJDK distros installed while keeping track of updates for them. The post JDKMon 17.0.23 Released appeared first on foojay. | Continue reading
If you’re a current Cassandra user, upgrading to the latest releases can be fairly simple and requires no downtime. The post Have you upgraded to Cassandra 4.0? appeared first on foojay. | Continue reading
Learn about major milestones in app security: finding the issue, evaluating a breach, proving it, and validating the fix! The post Detecting, Investigating and Verifying Fixes for Security Incidents and Zero Day Issues Using Lightrun appeared first on foojay. | Continue reading
Quickly learn how easy it is to create data-centric web applications with the combination of Vaadin and jOOQ! | Continue reading
Hilla enables type-safe communication between SpringBoot backends and TS frontend. Integrated tooling and components help you build apps fast! | Continue reading
Today I will make an attempt to appreciate how unique the JVM is. So, let’s begin the journey to how Java works! | Continue reading
I used to believe (and still do) that DTOs should be a thing of the past. Yet, it seems their usage is still widespread. | Continue reading
Let’s continue our journey to learn microservice. Today we will learn to use a full-fledged MongoDB database running in a Docker container. | Continue reading
This article argues how Apache Cassandra is the Serverless database that is open and free as in freedom in the modern cloud era. | Continue reading
This article argues why Apache Pulser is better than Apache Kafka when it comes to using cloud and microservices and how it fits the open-source mindset. | Continue reading
Posted two new videos in the "140 Second Duckling" series. They cover some basic and some little-known features of debuggers. Such as Marking | Continue reading
What happens if the child-task creates more tasks and the parent-task waits for the child-tasks to finish in TheadPool in java. | Continue reading
Kover is a code coverage tool for Kotlin. It's still in incubator phase but I took it for a spin and it is already very useful as part of local or CI workflows! In this article I go through the setup and some of my favourite goodies of the tool. | Continue reading