While having a class that directly extends Throwable is surprising, it is allowed and is also useful for providing additional information.
-
Foojay Podcast #5: OpenJDK Discussion Panel
It’s September 20th, OpenJDK 19 has been released. In this podcast, we discuss the new features and the changes that this release brings.
-
Wordish with JavaFX – Part 5
Let’s turn to JavaFX charts, showing how to customize charts with orientation and colors and how to add nodes to the chart scene graph!
-
GoF Design Patterns Using Java – Part 02
Let’s continue learning design patterns by implementing the Adapter, Facade, Template, Iterator, and State patterns using Java.
-
Java Thread Programming (Part 2)
Let’s see an example of where we can use Threads. Let’s assume we are building a web server that returns the most used words in a website.
-
Java Thread Programming (Part 1)
We write code in a file line by line, and then it gets executed. To be able to execute a piece of code requires an execution environment. In Java, a thread is an executing environment. If a program has only one executing environment, then we call this program a single-threaded program.
-
The Debugger Checklist (Part I)
Win at debugging by following an organized process and leveraging the tools you already have!
We’re going to skip ahead to a point where you have a bug you can reproduce (consistently or otherwise) but you don’t understand or can’t prove the cause.
-
SKP’s Definitive Primer: Failures, Pitfalls & Disadvantages of Microservices
Microservice adoption has almost become the norm in most software product and IT services organizations.
Below, I take the opportunity to make you aware of real-world issues faced by organizations of all sizes in migrating or adopting microservices.
Since learning from others’ mistakes and knowing pitfalls upfront can be helpful in preparing and planning better, this overview will be of help to those planning a shift to a microservices strategy.
-
Troubleshooting Java Processes Running on Your Machine
When your application has some problem, the first thing to check is running processes on the machine.
For Linux OS we generally use ps -ef. ps is one of the most used Linux troubleshooting commands. The JDK provides similar functionality for Java processes through jps. The jps command-line utility provides a list of all running Java processes on a machine for which the user has access rights. The access rights are determined by access-control mechanisms specific to the operating system.
-
GoF Design Patterns Using Java – Part 01
To understand the philosophical and historical perspective on the Gang of Four’s design patterns, I made a short, 10-minute video, which was also my PluralSight Author Audition.
I came up with my own examples to understand design patterns further. Try downloading the code and see if it helps you in comprehending the patterns in a better way.
Some brief code snippets follow each pattern so you can get quick demonstrations. Feel free to bookmark this article as a quick reference/cheat sheet for when you want to quickly review each of them.
-
Deep Dive Into Multi-Threading in Java
Multi-threading represents a very intriguing topic, even after years of research and development for high quality, robust, and efficient software. With equal emphasis on hardware improvements and the software that runs on it – we have newer paradigms for parallelism.
The most important yet basic concepts are the ones which I present here. I then explain the intricacies of multi-threading in the Java programming language. Some of these are newer features and supported only from the Java Platform Standard Edition 5.0. Let us start with a quick overview and understanding of the core concepts.