Java is an object-oriented programming language. It provides support for various mechanisms such as exception handling. This feature of Java enables developers to manage the runtime errors caused by the exceptions. In this article, you will learn about exceptions in Java. You will also learn about different types of exceptions in Java. Exceptions are the unwanted errors or bugs or …
Top 10 Java Debugging Tips
One of the biggest nightmares for all developers is to debug their code. Debugging code written in Java is a tough task. Debugging is the process of determining and fixing bugs or errors present in the code, project, or application. Debugging your application helps you improve the quality of the code. It is a must-have skill for every Java programmer. …
Learn Java: Tutorials for Beginners, Intermediate, and Advanced Programmers
If you want to be a developer, create applications, or learn how to code, then Java is the best programming language to work with. In this article, we will introduce some of the best Java tutorials for beginners as well as advanced programmers. These tutorials will help you to learn and nourish your programming skills in Java. But first, we’ll …
MongoDB Tutorial: Get Going from Scratch Using Java
There are numerous database systems that take a non-tabular NoSQL approach to handle data management. One of the most popular is MongoDB, which is used in various industries. While MongoDB is only the playground for Ruby on Rails or Node.js developers, using MongoDB with a modern Java framework like Spring Boot results in a powerful tool in the problem-solving arsenal. …
What’s New in Java 10
Java 10 overview March 2018 saw the latest semi-annual release of Java: Java 10. In this article, we’ll examine the big changes introduced in this version, as well as talk about some of the smaller improvements that will make life easier for developers and ops alike. Java 10: Big changes The two big stories in Java 10 are: the new …
Java vs. Python: Coding Battle Royale
While we all started to learn how to code with HTML, developing a sophisticated app requires a more advanced language. Java and Python are two of the hottest programming languages in the market right now because of their versatility, efficiency, and automation capabilities. Both languages have their merits and their flaws, but the main difference is that Java is statically …
Design Patterns Explained – Service Locator Pattern with Code Examples
The service locator pattern is a relatively old pattern that was very popular with Java EE. Martin Fowler described it in 2004 on his blog. The goal of this pattern is to improve the modularity of your application by removing the dependency between the client and the implementation of an interface. Interfaces are one of the most flexible and powerful …
The State of Logging in Java
When developing an application, chances are that it won’t perform as expected on the first run. In order to check what went wrong, developers in general use debuggers. But experienced developers know that if it happens in production, most debuggers won’t be available. Hence, they pepper the source code with logging statements to help their future self debug the next …
SOLID Design Principles Explained – Dependency Inversion Principle with Code Examples
The SOLID design principles were promoted by Robert C. Martin and are some of the best-known design principles in object-oriented software development. SOLID is a mnemonic acronym for the following five principles: Single Responsibility Principle Open/Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle Each of these principles can stand on its own and has the goal to …
Optional Parameters in Java: Common Strategies and Approaches
Introduction to optional parameters in Java Unlike some languages such as Kotlin and Python, Java doesn’t provide built-in support for optional parameter values. Callers of a method must supply all of the variables defined in the method declaration. In this article, we’ll explore some strategies for dealing with optional parameters in Java. We’ll look at the strengths and weaknesses of …
Understanding and Leveraging the Java Stack Trace
Stack traces are probably one of the most common things you’re regularly running into while working as a Java developer. When unhandled exceptions are thrown, stack traces are simply printed to the console by default. Nevertheless, it’s easy to only have a surface-level understanding of what these are and how to use them. This article will shed light on the …
SOLID Design Principles Explained: Interface Segregation with Code Examples
The Interface Segregation Principle is one of Robert C. Martin’s SOLID design principles. Even though these principles are several years old, they are still as important as they were when he published them for the first time. You might even argue that the microservices architectural style increased their importance because you can apply these principles also to microservices. Robert C. …
SOLID Design Principles Explained – The Liskov Substitution Principle with Code Examples
The Open/Closed Principle, which I explained in a previous article, is one of the key concepts in OOP that enables you to write robust, maintainable and reusable software components. But following the rules of that principle alone is not enough to ensure that you can change one part of your system without breaking other parts. Your classes and interfaces also …
A Detailed Guide to Enterprise Java Beans w/Code Examples
A Brief History of EJB By 1996, Java had already become popular among developer for its friendly APIs and automated Garbage Collection and was starting to be widely used in back-end systems. One problem, however, was that most of these systems needed the same set of standard capabilities – such as persistence, transaction integrity, and concurrency control – which the …
SOLID Design Principles Explained – The Open/Closed Principle with Code Examples
The Open/Closed Principle is one of five design principles for object-oriented software development described by Robert C. Martin. They are best known as the SOLID principles: Single Responsibility Principle Open/Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion All 5 of these design principles are broadly used, and all experienced software developers should be familiar with them. But don’t worry, …
SOLID Design Principles Explained – The Single Responsibility Principle
SOLID is one of the most popular sets of design principles in object-oriented software development. It’s a mnemonic acronym for the following five design principles: Single Responsibility Principle Open/Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion All of them are broadly used and worth knowing. But in this first post of my series about the SOLID principles, I …
The State of Java in 2018
2017 has been a turbulent year in the Java world. The long-awaited release of Java 9 brought a lot of changes and interesting new features, and Oracle announced a new release schedule for the JDK. And that was just the beginning. In the past, developers often complained that Java wasn’t developing fast enough. I don’t think you will hear these …
Generics and Type Erasure on the JVM
Introduction In UML, it’s possible to parameterize types in a class. Those types can then be used in different locations: attribute types, parameter types and return types. This is called a template class. Here’s an example of such a class in UML: This Foo class should be read as the following: The bar attribute is of type T The baz() …
The Java vs .NET Comparison (Explained with Cats)
Comparing technologies is always fun. Not that we want to start yet another programming language war, but it is really quite interesting to take a fresh look at a familiar technology and put it into perspective. Plus, it’s quite common for developers and business owners to be faced with the choice between two or more options, be it a fresh …