Disclosure: This article may contain affiliate links. When you purchase, we may earn a small commission.

What is CQRS Design Pattern in Microservices? With Examples

In a microservices architecture, it's common to have multiple services that need to interact with the same data store. However, traditional approaches to managing data, such as using a single database for all services, can lead to performance issues and data consistency problems. To address these issues, a design pattern called Command Query Responsibility Segregation (CQRS) has emerged as a popular approach to managing data in microservices. I have been sharing my knowledge about Microservices and Java from past few months and earlier we have covered 10 essential Microservice design patterns and principles and best Microservices courses for Java developers which many of you appreciated. At the same time, a lot of you asked me to go deep down into each of those patterns and explain them with examples. 

Top 10 Free Blockchain Courses For Beginners to Learn in 2023 - Best of Lot

Hello guys, if you want to learn Blockchain technology and become a Blockchain developer in 2023 and looking for best online resources like books, online courses and tutorials then you have come to the right place. Earlier, I have shared best Blockchain course and Blockchain certifications as well best places to learn Blockchain and books to read and in this article, I Am going to share best free online courses to learn Blockchain in depth. But, Before we get into the top 10 courses that will teach you all about blockchain, let me tell you what it really is. Blockchain is basically a method of recording information that makes sit really impossible to hack that system and steal that information. It is actually a duplicated ledger that duplicates and distributes transactions across a network of computers.

Top 5 Websites To Learn Web Development in 2023 - Best of Lot

Hello guys, if you want to learn web development and looking for online resources like books, online courses, projects, and tutorials then you have come to the right place. Earlier, I have shared best web development courses, books and projects and in this article, I am going to share best websites to learn Web development online  in 2023. But, before we get to the best websites to learn about web development out there, let me tell you a little bit about what web development really is. Web Development basically refers to all the tasks associated with developing websites that are hosted on the internet. The process of web development can also include web design, web content development, client-side scripting, server-side scripting, and network security configuration.

How to Join Two or More Tables in a SQL query? Left Join Example Leetcode Solution

Hello guys, when it comes to combining two tables in SQL, many programmers don't know that they can use the JOIN clause. In fact, JOIN is there to fetch data from multiple tables together. There are mainly two types of joins, INNER Join and OUTER join. On Inner join, only those records have matching values in both tables, while in Outer join, all records from one table are selected in addition to matching records from other tables. There are two kinds of Outer join in SQL, LEFT OUTER JOIN and RIGHT OUTER JOIN. Both are actually the same thing, which means you can get the same result by using either of the outer joins by changing the table's position from left to right.

How to create RESTful Web Services in Java using Spring Boot? Example Tutorial

Hello guys, if you are looking for a complete tutorial to create REST API on Spring Boot then you have come to the right place. In the past, I have shared the best RESTful Web Services courses and best Spring Boot courses and in this article, I am going to show you how to create RESTful web services using Spring Boot step by step. After going through this tutorial you will be able to create your own REST endpoints and RESTful application using Spring Boot and Spring Framework and Java programming language. How to make Spring boot REST API? is a common question that everyone has who is new to Spring boot application development. 

What is Spring Expression Language (SpEL)? Difference between $ and # in @Value expressions Example

Hello Java programmers, if you are wondering what is Spring Expression Language and how to use them in your Spring Framework or Spring Boot application then you have come to the right place. Earlier, I have shared the best Spring Framework coursesFree Spring Questions, Spring projects, and books, and in this article, I am going to teach you about Spring Expression Language with simple, easy-to-understand examples. The Spring Expression Language (SpEL for short) is a powerful language that supports querying and manipulating an object graph at runtime. The syntax is similar to Unified EL, but it has several more features, such as method calling and rudimentary string templating.

What is SRP or Single Responsibility Principle Example in Java? SOLID Design Pattern Example

Hello guys, if you want to learn about SRP or the Single Responsibility principle and wondering how to write code that follows SRP and what are pros and cons of following this design principle then you have come to the right place. Earlier, I have shared the best object-oriented programming and design courses and books and in this article, I am going to talk about SPR. The Single Responsibility Principles, popularly known as SRP is part of 5 Object-oriented design principles, introduced by Robert C. Martin, popularly known as Uncle Bob. The Single Responsibility principle says that "there should be one reason to change a class". This means a class should do only one thing, and do it perfectly.

[Solved] How to Find maximum Product of a sub-array in Java? Example

Hello guys, if you are asked to find maximum product of a sub-array in Java and you are wondering how to solve this difficult looking coding problem then you have come to the right place. Earlier, I have shared 30 array coding problems, 30 linked list problems, and 10 dynamic programming problems and in this article, we shall be finding the maximum product of a sub-array in java. This problem has a lot to do with arrays. But first, we'll solve the problem then we talk about Array and how it operates. The problem we are to solve here is to find the maximum product of a subarray in Java. We won't just jump to the writing of codes like code monkeys but, it is essential to understand the problem we are solving first, so we can give the best approach in solutions to it. when we say finding the maximum product of a sub-array it means getting the total of a product in an array!

How to check if a given Tree is a Binary Search Tree in Java? Example Tutorial

Hello guys, if you are preparing for a coding interview then you may know those binary tree problems are not easy to solve on coding interviews and I have seen many candidates struggling to do post-order traversal and checking if a given binary tree is a binary search tree or not. If you want to succeed in the coding interview, you need to prepare well on binary trees in general. One way to prepare better is solving common binary tree coding problems like this one, where you need to find if the given tree is BST or not. There are a lot of things that would tell us if a tree is a binary search tree. But before we get to that, we need to understand what a binary tree is.

Radix sort in Java with Example

Hello guys, in one of the interview I was asked to name any O(n) sorting algorithm. I was shocked because I only knew about QuickSort and Mergesort whose best time is O(NLogN), so I couldn't answer that question. After the interview, the first thing I did was to Google about O(n) sorting algorithm and I was surprised to find that there are many algorithms like Radix Sort and Counting Sort and Bucket Sort which can provide O(n) performance. So, I learn them and wrote articles about them like in previous article I explained about Counting Sort algorithm and in this article, I will explain Radis sort like what it is and how it works. In Radix sort, we are sorting by comparing individual digits from the last one to the first one. In essence, radix sort is like this: sort elements by the last digit. 

Top 20 Mockito Interview Questions with Answers for Java Programmers

Hello guys, if you are preparing for Java developer interview then you must prepare for Mockito, one of the most popular mocking and unit testing library for Java developers. Mockito is used across all kind of companies, both big and small like startups for unit testing Java applications and that's why good knowledge of Mockito is required to crack the Java Interview. Along with JUnit, Mockito is quite important and if you are looking for Mockito Interview questions and answers then you have come to the right place. Earlier, I have shared best JUnit and Mockito courses and unit testing books, and even popular JUnit interview questions and in this article, I am going to share 20 common Mockito questions for your interviews.

Is 101 Blockchains Certifications worth it? Review?

Hello guys, if you want to start your career in Blockchain field and wondering going for a Blockchain certification then you have come to the right place. Earlier, I have shared 2023 Blockchain Developer RoadMap and these best Blockchain certifications to start your career in 2023 and in this article, I am going to review one of the popular Blockchain certification provider, 101 Blockchains Academy. The worldwide blockchain industry is expanding at an unnerving rate for a technology that came only a decade ago. In 2021, the global market had a valuation of almost $4.67 billion and might reach $7.18 billion in 2022. At the same time, blockchain adoption in the financial sector is at an all-time high. Healthcare and many other industries are gradually joining the blockchain revolution. As a result, many people search for blockchain certifications to support their career development goals.

Top 6 Skills To Crack Programming and Coding Tech Interviews in 2023

Hello folks, are you thinking of a new job in 2023 and looking for which topics and skills to prepare for your coding interview? There is no doubt cracking the Coding interviews of tech companies like Google, Microsoft, and Amazon is very hard. However, you can still break it by carefully planning and preparing the essential skills which matter most, like Data structures and Algorithms, System Design, Multithreading and Concurrency, SQL and Database design, and of course, problem-solving skills. Being an author of Java and a programming blog, I often receive queries about preparing for coding interviews? How to pass Google or Microsoft Software Developer interviews? Or how can I get a software development job on Amazon or Facebook? After answering many of my readers one by one on Facebook and LinkedIn, I thought to put together a list of essential topics for coding interviews.

What is SAGA Design Pattern in Microservices? With Examples

 Hello guys, I have been writing about Microservices and Java from long tie and in the past, I shared with you 10 essential Microservice design patterns and principles and best Microservices courses for Java developers which many of you appreciated. At the same time, a lot of you asked me to go deep down into each of those patterns and explain them with examples. So I decided to create this new series of Microservice Pattern tutorials where I will explain each of those essential Microservice pattern with example every week. So far, we have covered Database Per MicroservicesCQRS, Event Sourcing, and Circuit-breaker pattern and in this article, let's have a look at SAGA Pattern, how does it work, what problem it solves and pros and cons of SAGA Pattern with examples. 

Top 5 Online Courses For MCAT Medical College Admission Test in 2023 - Best of Lot

Hello guys, if you are preparing for MCAT Medical College Admission test in 2023 and looking for best resources for your preparation then you have come to the right place. In this article, I am going to share best online courses for MCAT medical college admonition test. But, Before we get to the 5 best courses that will teach you everything you need to know to pass the MCAT, let me tell you a little bit more about what it really is. MCAT, also known as the Medical College Admission Test, is basically an entrance examination for gaining admission into medical colleges in the United States, Australia, Canada, and the Caribbean Islands. The exam is regularly conducted by the Association Of American Medical Colleges, also known as AAMC, and administered by Pearson VUE. It is also conducted almost 25 times a year across 21 different countries.

Top 5 Websites to learn HTML for Web Development in 2023 - Best of Lot

Hello guys, if you are looking for best places to learn HTML for web development then you have come to the right place. Earlier, I have shared best free HTML courses and best paid HTML courses along with books, and in this article, I am going to share best places to learn HTML online in 2023. But, before I share you all these websites and platform let's first understand what is HTML itself and why you should learn it?  HTML or Hypertext Markup Language was created by Sir Tim Berners-Lee in 1991, but was officially released to the general public in 1995. HTML is the standard markup language which is designed to work with documents which are to be displayed in web-browsers. At its core, every single static thing that you see in a web browser is a HTML document.

Top 20 Apache Kafka Interview Questions Answers for Java Developers

Hello, guys if you are preparing for the  Java Developer or Apache Kafka interview and looking for frequently asked Apache Kafka interview questions and answers then you have come to the right place. Earlier, I have shared the best Kafka courses and popular interview questions on JavaJMSSpring Boot, and Hibernate and in this article, I Am going to share 20 frequently asked Apache Kafka interview questions with answers. Over the years, Kafka which is developed by Apache Software Foundation has gained popularity because of its immense capability of data processing. Apache Kafka provides a unified, high-throughput, low-latency platform for handling real-time data feeds and because of that it has become a go to choice for high-speed message for many fortune 500 companies.  

Top 35 Python Interview Questions with Answers 1 to 3 Years Experienced Programmers

Hello guys, if you are preparing for a Python developer job and looking for some frequently asked Python interview questions then you have come to the right place. Earlier, I have shared the Complete Python Developer RoadMap,  best books and best courses to learn Python and in this article, I am going to share 35 Python questions, covering different concepts for Python developer interviews. Sitting in any interviews, especially in tech interviews, is a tough job itself. You can't go in without proper preparation. Even if you have taken or given dozens of interviews, it is always recommended to go through the quick preparation notes or concepts.

Top 20 CSS Interview Questions and Answers for 1 to 2 Years Experienced Web Developers

Hello guys, if you are preparing for web developer job interview and looking for common CSS Interview Questions then you have come to the right place. Earlier, I have shared HTML Interview questions and CSS Interview Questions and in this article, I am going to share 20 common CSS Interview Questions with answers. If  you have used CSS for a couple of months then most likely you know the answer of these CSS questions but if you struggle with any of them then you can always go back to these best CSS online courses to revise key concepts. I have tried to include as many questions as possible covering different CSS concepts but you can also contribute, feel free to ask questions on comments. 

Top 21 GraphQL Interview Questions and Answers for Beginners and Experienced Developers

Hello guys, if you are preparing for web developer interviews where GraphQL skills are needed and you are looking for frequently asked GraphQL Interview questions then you have come to the right place. Earlier, I have shared both Web development interview questions as well as REST Interview Questions and in this article, I am going to share 20 common GraphQL Questions from Interviews with answers. These questions covers essential GraphQL concepts like difference between REST And GraphQL and pros and cons of using GraphQL to consume APIs. If you have used GraphQL in past then you can easily answer these questions but if you forgot then you can always join of these best GraphQL online courses to learn and revise key GraphQL concepts.

Top 20 Spring Cloud Interview Questions and Answers for 3 to 5 Years Experienced

Hello guys, if you are preparing for Spring and Microservice developer job and need Spring cloud interview questions then you have come to the right place. Earlier, I have shared interview questions on Spring Boot, Spring MVC, Spring Security, Spring Testing and Spring Core and in this article I am going to share common Spring Cloud questions for Java and Microservice developers. If you have used Spring Cloud in your project then you can answer all of these questions easily but if you struggle to answer any of these questions then you can always go back and join one of these best Spring Cloud courses and best Microservice courses to learn and revise essential Spring Cloud concepts. 

Top 20 Machine Learning Interview Questions and Answers

Hello guys, if you are preparing for Machine Learning Interviews and looking for common Machine Learning questions then you have come to the right place. Earlier, I have shared 35 Python Interview Questions and 20 AI Interview Questions and in this article, I am going to share 20 Machine Learning Interview Questions with answers. If you have gone through a Machine learning course or have worked in Machine Learning for a few months then you should know answer to all of these questions but if you struggle to answer them then I suggest you to revise concepts by going through these best Machine Learning courses for beginners. They are great to learn and revise important Machine Learning concepts. 

10 Tools Cyber Security Professional and Pen Tester Should Learn in 2023

Hello guys, if you want to become a Pen Tester, Cyber Security Engineer or Ethical Hacker in 2023 and looking for the best tools then you have come to the right place. Earlier, I have shared best Cyber Security courses, free Pen Testing Courses, and Ethical Hacking courses and in this article, I am going to share best tools every Cyber Security Engineer and Pen Tester should learn in 2023 to do their job effectively. Suppose you become a penetration tester and learn the cyber security field. In that case, you need to know many tools that will help you scan the networks and system for vulnerabilities and other tools for exploring them. This article will provide you with the most used tools for finding these vulnerabilities and how to exploit them.

What is Generator Function in JavaScript? Example Tutorial

Hello guys, Functions are an essential part of JavaScript programming. Basically, a function is a piece of code that can take inputs and return outputs. Moreover, a function can be executed at any time and any number of times. When a regular function is called, it executes from top to bottom. Its execution ends when the function body ends or a return statement is encountered. But JavaScript provides a special kind of function that works in a different. These functions are called generator functions and they were introduced in ES6. In this article, we will discuss what are generator functions and how to use them with the help of an example. It's also a popular JavaScript interview questions, commonly asked to experienced developers.

Difference between Microservices and Monolithic Architecture

Hello guys, if you are preparing for Microservice developer interview or just a JAva developer interview where Microservices skills are needed then you must prepare with the difference between Monolithic and Microservices articles. It's one of the popular Microservices interview questions and often asked on both face-to-face round of interview or telephonic interviews.  Microservices and monolithic architectures are two of the most common approaches to building software systems. While both approaches have their benefits and drawbacks, they differ significantly in terms of their architecture, development, deployment, and maintenance.

Top 5 Free Courses To Learn Terraform in 2023 - Best of Lot

Hello guys, if you want to learn Terraform, one of the essential DevOps tool for Infrastructure as code then you have come to the right place. Earlier, I have shared best paid Terraform online courses and in this article, I am going to share best free Terraform online courses in 2023. If you want to learn Terraform online, for free then you can join these courses and learn this useful tool in 2023. Terraform is one of the leading tool in DevOps space along with Docker, Kubernetes, Ansible, and Jenkins. I was actually researching all the new innovations in the tech industry when one of my friends, who is a DevOps Engineer, told me about the Infrastructure as Code (IaC) concept. I am pretty sure that if you are a DevOps Engineer or someone who works in a related field, you will be pretty familiar with this concept. But for those of you who don't know what it is, don't worry. I have got your back.

Top 5 Courses For 70-461,761: Querying Microsoft SQL Server with Transact-SQL

Hello guys, if you are preparing for Microsoft SQL Server certification like 70-461 or 761 with Querying Microsoft SQL Server with Transact-SQL then you have come to the right place. In the past, I have shared both free SQL Server courses and paid SQL Server courses as well books and in this article I am going to share best online courses for SQL Server certification like 70-461 or 70-761. I know what all of you are thinking right now; yeah, that is a very long name for a certification exam. I get it. Don't worry, you will get through this, I promise. This is simply a certification exam that will test your ability in creating tables in a database and alter columns in a table. You should also be able to know what kind of data types to use in various circumstances. You should know how to use functions to manipulate string data values.

Why Programmers Should Learn Mathematics Again?

Hello folks, I have been learning Mathematics again from some time now, ever since I have introduced with Knuth's "Concrete Mathematics" by one of my friend, who I know is a much better programmer than me. I was like, no dude, programmers don't need to learn Mathematics again, whatever I have learned in the past, I have hardly used them. I should learn more about functional programming, Scala, JVM tuning and how to design Scalable, robust and concurrent systems rather than wasting time to learning Maths. But, he insists me to read the book and couple of others on discrete maths whenever you have some free time. So, the book was lying with several others for a couple of months until a fine day when I attracted with its cover. I quickly skim through the book, only to realize that I couldn't understand a bit and got bored in the first reading. 

10 Example of SCP (Secure Copy) Command in Linux

Hello guys, in last few articles I have explained how to use netstat, curl, and lsof command in Linux and in this article, I am going to share how to use SCP command in Linux to copy files and directory from remote host. Similar to SSH, its one of the essential command for any Java Programmer or IT professional as most of the time you will need to transfer data between servers and then you will need either SCP, SFTP, or rSync. The scp is another essential command for Linux user which allows you to copy files and directory from one server to another in a Linux network. It is based upon SSH and behave similarly in terms of authentication and logging but allows you to copy a file or directory from remote server. 

6 Ways to convert ArrayList to String in Java - Example Tutorial

Many times we need elements stored in ArrayList in a single String object, but in different format than toString() method of ArrayList provides. At times, you may need them separated by comma, other times by by a tab or new line character. How do you convert your ArrayList to String in Java? Well, even though standard JDK doesn't provide any utility method to do that, there are numerous way to do that out-of-the-box, I mean, without you writing your own method to do that conversion. In the past, I showed you how to convert a Collection to String in Java and in this article, we will take a look at some of them, but beware many of the methods require third party library, which means an extra dependency in your build path. If you don't mind that than you could save lot of time reusing tried and tested code. 

10 Example of netstat networking command in UNIX and Linux

The netstat command is one of the most essential and useful networking command for Linux users. It is a general, all purpose network information tool which can be used to find out information about current network connections, multicast group membership, routing tables, network interface statistics and many other low-level details of the host's current network configuration. The good knowledge of netstat command is not only important from the troubleshooting perspective but also from security perspective. It gives useful security related information e.g. what network ports are currently "open" on your system and the list of current network connections and their states. 

Difference between -Xms and -Xmx JVM Parameters forJava Heap Memory

Though both -Xms and -Xmx JVM options are used to specify the size of heap memory, main difference between them is that -Xms is used to specify initial heap memory while -Xmx is used to specify the maximum heap memory. The JVM (Java virtual Machine) provides several command line arguments to specify size of different memory areas, also known as generations of Java Heap space, but two of the most useful JVM parameters which specify initial and maximum heap memory is -Xms and -Xmx. When you start JVM by using java command you can specify the maximum heap size with the JVM option -Xmx and a size e.g. java -Xmx1G MainClass will start JVM with maximum heap size of 1 giga bytes. Remember there is no space between -Xmx and size, if you leave space e.g. -Xmx 1024M then JVM will throw invalid heap memory error, so be careful there. 

How to declare a method which takes a lambda expression in Java 8? Example Tutorial

You may have seen lot of examples of how to use lambda expression in Java 8 e.g. to replace anonymous class, to implement Runnable or to implement Comparator but there are hardly any examples of teaching you to how to declare your own user defined method which can accept lambda expression. In this tutorial, I will try to bridge that gap. Actually, a method doesn't know whether you are passing an instance or a lambda expression to it, all you need to remember is that lambda expression is of SAM type in Java 8. Which means, you can pass lambda expression in place of an interface which has just one abstract method. 

Top 30 Gradle Interview Questions with Answers for Java Developers

Hello guys, if you are preparing for Java developer interview then you must have come across Gradle, a Groovy based build tool which is gaining popular with Java community. While its not mandatory to learn Gradle for Java Interview if the job description mention Gradle or Groovy then you should prepare Gradle is one of the essential tool for Java developers. It's similar to  Maven and ANT, two other popular build tool for Java project but offers several advantages which I have explained in Maven vs Gradle post earlier.  These Gradle questions are good for both beginners and Java developer with 1 to 3 years of experience which are using Gradle in their project or expecting Gradle question on Java Interview.

Difference between char, varchar, nchar and nvarchar data types in SQL Server? Example

What is the difference between char and varchar in SQL, followed by nchar and nvarchar, is one of the popular SQL interview questions, and surprisingly not every programmer knows this basic difference. If you go with the name, which you should, then you can figure out that char is a fixed-length data type while varchar should be a variable-length data type. Though all char, varchar, nchar, and nvarchar are used to store text or String data there are subtle differences between them. As I said char is fixed length, which means a variable or a column like Zipcode char(10) will take only 10 bytes to store data, including space.

3 Maven Eclipse Tips for Java Developers

Hello guys, If you are using Maven inside Eclipse IDE via M2Eclipse plugin then the following tips can help you a lot. Maven is one of the essential tool for Java developers as it is used to build your application, compile your code, create packages which can be deployed into physical box or cloud. Apart from that Maven also provide dependency management feature which means you don't need to manually download JAR file and add into your classpath. You just specify which library your code is using and the version and Maven will automatically download correct JAR file for you and put in your local Maven repository. Maven can also manage transitive dependency which means suppose your code is depend on Spring Framework which itself need 10 more open source library to work. With Maven you just need to specify which version f spring framework you want to use, and it will download all the library needed by Spring automatically.  In nutshell, Maven makes Java development easier and every Java developer should learn it. 

Why Java Developer Should Learn Maven or Gradle?

Hello guys, being a Java blogger, many Java developers ask me questions like "I am learning Java, should I also learn Maven or Gradle?" or "Is it mandatory to learn Maven to get a job as a Java developer", "Should I learn Maven or Gradle, which one is better for future?" and the less common one "Why should I learn Maven or Gradle as a Java developer?".  In the past, I have shared the best courses to learn Maven for Java developers and some useful Gradle books and courses,  as well as answered questions around Maven vs Gradle and I will try to answer these questions in this article and assert the importance of Maven and Gradle as a build tool for Java Developer.  Along the way, I will also share useful resources to learn both Maven and Gradle for Java developers. 

Top 21 Maven Interview Questions with Answers for Java Programmers

Hello guys, if you are preparing for Java developer interviews then you should not ignore Maven as its on of the important build tool for Java developers. Most of the Java projects you are going to work will use Maven for building artifacts and deploying into both Physical machine and cloud. If you already know the importance of Maven and looking for frequently asked Maven interview questions then you have come to the right place. Earlier, I have shared 130+ core Java questions, Spring Boot questions, Hibernate Questions, and even JUnit questions for thorough preparation and in this article, I am going to share 20 common Maven questions from Java interviews with answers. 

Top 5 Cyber Security Certifications to Aim in 2023 - Best of Lot

Cybercrime is the quickest developing wrongdoing in the United States, and it is just expanding and more modern. After client data was taken, organizations, for example, Facebook, Panera Bread, Under Armor, and Uber acquired features. Managerial nerves and interest for network protection certifications develop with each hole. These worries are all around established. As per Centrify, 66% of customers in the United States would probably quit working with an organization that has been hacked.

IBM Applied AI Professional Certificate Course Review

 The artificial intelligence revolution nowadays seems to be the future of human life. This technology is implemented in every app or website you visit and used for unlocking the door with your face to secure any money transaction and used in gaming to put your face in any character you want, and this list goes on. That means getting the skills in artificial intelligence under your belt is a good investment in the future to get a job or even create your own business that uses artificial intelligence to solve people's problems. Most people think that you need a degree in this area to have a job. Still, companies are looking for your skills more than your degree, so you can take an online course like IBM Applied AI Professional Certificate and start your journey.

10 Free Online Courses To Learn Cloud Computing in 2023 - Best of Lot

Hello guys, if you want to learn Cloud Computing concepts with AWS, Azure, or Google Cloud Platform and looking for resources like online courses, books, and tutorials then you have come to the right place. Earlier, I have shared best Cloud Computing Books and best Cloud Computing online courses and in this article, I am going to share best free courses to learn Cloud Computing in 2022. But, Before we get to the 10 best free courses that will teach you everything you need to know about cloud computing, let me tell you what cloud computing really is.

10 Example of find command in UNIX and Linux

The find command is one of the most versatile commands in UNIX and Linux, and I used it a lot in my day-to-day work. I believe having a good knowledge of find command in UNIX and understanding of its different options and usage will increase your productivity a lot in UNIX based operating systems, e.g. Redhat Linux or Solaris. If you are a QA, support personnel, and your works involve lots of searching text on Linux machine or if you are a Java or C++ programmer and your code resides in UNIX, find command can significantly help you to look for any word inside your source file in the absence of an IDE.

Maven vs Gradle? Which one Java Developer Should Learn?

Hello guys, if you are looking for a quick introduction to Maven and Gradle then you have come to the right place. Earlier, I have shared the best Maven course and best courses to learn Gradle, if you haven't checked them, I suggest you can also look at them if you want to learn these tools in depth. Maven and Gradle are the two most popular build tools for Java applications. They manage dependencies and create artifacts.  How do they do that? They have a repository like a maven has Maven repository where the store every single Java library and depending upon which library you add to your project, they download that library + all the transitive dependency for those libraries automatically. 

how to fix the password issue for Maven in Eclipse? [Solved]

Most Java programmers use Maven in Eclipse via the M2EClipse plug-in, which gives one capability to build, run, and test Java application using Maven. I also use the M2Eclipse plugin for integrating Maven with Eclipse, but more often there are issues dealing with them like Maven not able to find certain archetypes, or maven not able to download Jar files from remote maven repository. Since I need to change the password often for security reasons like every 3 months, I do see a lot of maven issues in Eclipse related to building projects. Most of the time these are compilation errors that are caused because maven is not able to connect to remote maven central repository, even though you have updated password in settings.xml in the maven installation folder like C:\apache-maven-2.2.1\conf\settings.xml

Difference between Inheritance and Polymorphism in Java and OOP - Example

Both Inheritance and Polymorphism are key OOP concepts and similar to Abstraction and Encapsulation, they are also closely related to each other. Because of their similarities, many OOP programmers, especially beginners get confused between Inheritance and Polymorphism. Even though they are closely related and you need Inheritance to support runtime Polymorphism they are a totally different concept. Inheritance refers to the ability of classes or objects to inherit properties of other classes or interfaces. It means you can write code for common functionalities and reuse it at different places by just using Inheritance and not re-writing those codes again and again. For example, you can write code to

How to use for loop in Linux? Looping through List, values, and range in Bash with Example

If you know how to use for loop in bash shell or Linux, you can speed up a lot of task, saving precious time while doing support or troubleshooting in Linux. One of my favorite use of for loop is repeating same task among multiple host. For example, If I have to clean up some files from 10 hosts in the network, instead of manually going and removing files from individual host, you can use for loop and ssh command to automatically remove old log files from all the host, without manually logging into them. This is a tremendous time saving trick if you are working for an application which is running on more than one host. It's a life-saver if your application is running on 30 to 40 hosts. 

3 Ways to Learn Web Development in 2023 - Best of Lot

Hello guys, if you want to learn Web development but not sure how to start it then you have come to the right place. In the past, I have shared best free web development courses as well as best paid web development courses and in this article, I am going to share 3 ways to learn web development in depth. Web development has changed a lot in the recent decade. More and more frameworks and libraries have come out while the older ones are either updated or left out. For example, React and Vue has debuted in the mid-2010s and quickly became popular while AngularJS was completely re-written to survive modern web development. Today, Web development is one of the most popular domains in the IT community. Every company or product wants a website because the web is easily accessible today. Even when mobile applications are gaining popularity, the web remains at the top.

How to use Mockito to Unit test Java Program with JUnit? Example Tutorial

Hello guys, if you are writing unit test your Java application then you would have definitely come across JUnit and Mockito, two of the essential unit testing framework  for Java developers. While JUnit offers support to run your test, setup and teardown and also assertion to check the expected and actual output. Mockito complements JUnit by offering you a mock based testing approach. Mock is nothing but a test double which can return a configured value when a certain method is called. It also provides ability to check if a particular method is called or not. By using Mock object or test double you can check if your code is behaving properly or not in different scenarios. This is also the key difference between JUnit and Mockito, JUnit provides infrastructure to run your test while Mockito provide infrastructure to created Mock objects. 

How to check if a String has all unique characters in Java? [Solved]

Hello guys, its been long time since I shared any interesting coding problem but the wait is over. Today, I am going to share one interesting and popular String based coding problem which you would love to solve. Today's coding challenge is to find out if a given string has all unique characters or not, for example, if given String is "Java" then your function should return false because all styles from this String are not unique. On the other hand, if the given String is "Python," then your function should return true because all characters are unique in this String. Btw, don't just jump on the solution if this is ever asked to you on Interview; instead, you should ask a couple of good questions to demonstrate your requirement gathering skill and attention for details.

Top 20 Kotlin Interview Questions and Answers for Java developers in 2023

Hello guys, if you are preparing for Kotlin Developer Job interview and looking for frequently asked Kotlin interview questions then you have come to the right place. In the past, I have shared Core Java questions, Scala interview questions as well as Groovy Questions and in this article, I am going to cover common Kotlin questions from interviews. In last a couple of years Kotlin has emerged from the shadow of Java and demand for Kotlin is increasing day by day. Google's decision to accept Kotlin as the official programming language for Android development triggered this rise and now Kotlin is also viewed as preferred backend development language, a shock for Java and Scala but its true. 

How to check if Checkbox is checked in JQuery? Example Tutorial

Hello guys if you are wondering how to check if a checkbox is checked using jQuery then you have come to the right place. Earlier, I have shared, how to check/uncheck checkbox or how to find all unchecked checkboxes using jQuery and in this article, I will share how to check if a particular checkbox is checked or not. While working in Java web application front end, written using JSP, HTML, CSS, and JavaScript, we often need to check status of checkbox e.g. whether a particular checkbox is checked or not? One example of this is checking is checking, whether user has accepted terms and conditions before submitting form. Thankfully, JQuery provides a nice and easy way to find status of checkbox. 

Difference between JPA, Hibernate, and MyBatis in Java

Hello guys are you tired of using plain old SQL to access your database? Are you looking for a better way to manage your database interactions in Java? Well, you're in luck because JPAHibernate, and MyBatis are here to save the day! If you're a Java developer, you've likely come across the terms JPA, Hibernate, and MyBatis when working with databases. While they all deal with object-relational mapping (ORM), they have their own distinct approaches and features. Understanding the differences between them can help you make informed decisions when choosing which one to use for your projects.

TOp 5 Books to Learn Golang or Go in 2023 - Best o fLot

Hello guys, if you want to learn Golang in 2023, one of the trendy and rising programming language for backend development and looking for resources like online courses and books, and tutorials then you have come to the right place. Earlier, I have shared best free Golang courses, and best paid Golang courses and in this article, I am going to share best books you can read to learn Golang in depth. But, before we get to the 7 best books that will teach you everything you need to know about the Golang language, let me tell you what it really is. For those of you who don't know, Golang is basically an open-source programming language with a major focus on reliability, simplicity, and efficiency. It was originally designed by Google way back in 2007. The smart folks at Google realized that a very large and complex codebase was slowing them down. And so they designed a programming language that was focused on simplicity and quick performance.

Coursera IBM Full Stack Cloud Developer Professional Certificate Review

Hello guys, if you are looking for an online certification to become a full stack cloud developer then you will love this Professional certificate by IBM on Coursera. Almost no company in the world doesn’t have a website with databases and back-end to perform actions like registering users. These technologies require a team to build but no longer need a team to create a website as you only need one on the full-stack web developer. Full-stack web developer can create the front-end of the website, which is what the user see and interact with and the back-end represents the actions happening inside the website and also needs to learn making the databases. The nice thing is you can learn all of these in one course called IBM Full Stack Cloud Developer Professional Certificate specialization.

Top 5 Courses To Learn SnowFlake in 2023 - Best of Lot

As early as a decade ago, setting up a data warehouse meant that you had to literally purchase very expensive hardware appliances and then connect them to your data center. SnowFlake was founded in July 2012. And soon, it was goodbye to all those cumbersome machines and unnecessary expenses. I can see some of you guys wondering: wait, what exactly is SnowFlake? Don't worry. I have got your back. SnowFlake is basically a cloud-native platform that frees you to set up separate data warehouses and data lakes as well as allows you to secure data sharing across your organization. The main motto of SnowFlake is that technology should not come in the way of creativity and imagination.

The 2023 Angular Developer Roadmap for Beginners

Angular is one of the most popular and widely used frontend web frameworks. It is a TypeScript-based framework that is developed by the Angular team at Google. Angular is actually the rewritten version of AngularJS. According to the Stackoverflow developers survey, Angular is the third most popular web framework among professional developers. So learning Angular in 2023 is definitely worth it. But Angular is a huge framework and it is not easy to learn it. There are so many concepts in it. It is advised for a beginner to follow a proper roadmap while learning a vast framework like Angular. In this article, we will create a roadmap for beginners to learn Angular in 2023.

Coursera Review - Is IBM Technical Support Certification worth it?

Hello guys, if you want to join Coursera's IBM Technical Support Certification but not sure whether you should join it or not then you have come to the right place. In this article, we have reviewed this certification form learner point of view. IBM Technical Support Certification offered by Coursera is a comprehensive program designed to help learners acquire the necessary skills to provide technical support services to organizations. With a focus on providing high-quality training and hands-on experience, the program will teach you all the skills and knowledge required to provide effective technical support. But the question is, is it worth the investment in terms of time and money? In this article, we will review the IBM Technical Support Certification program offered by Coursera to help you determine whether it's worth pursuing

10 Free TypeScript Courses for Beginners in 2023

Hello guys, if you want to learn TypeScript, the language of web development and the one which i used in Angular framework and looking for online resources like online courses, books, and tutorials then you have come to the right place. Earlier, I have shared best TypeScript paid courses and books and in this article I am going to share best free online courses to learn TypeScript in 2023. But, before we get to a list of the best free courses that will teach you everything you need to know about TypeScript, let me tell you a little bit more about what it really is. For those of you who don't know, TypeScript is basically a strongly typed superscript of JavaScript. It can be compiled to plain JavaScript. TypeScript can be used for application-scale JavaScript development. It can also be executed on any browser, any host, and any operating system.

Top 35 T-SQL and Microsoft SQL Server Interview Questions and Answers

Hello guys, if you are preparing for Java developer interview where Microsoft SQL Server is listed as mandatory and required skill or you preparing for a junior DBA role for Microsoft SQL Server and looking for common SQL Server interview questions for practice then you have come to the right place. Earlier, I have not only shared SQL Server courses for beginners but also 50+ SQL and Database Questions for programmers and DBA. You an also check them to get yourself familiar with generic SQL concepts like normalization, joins, aggregation, partitioning, indexing, and transaction along with these SQL Server specific questions which focuses mainly on T-SQL and SQL Server functionalities and how general SQL commands behave in Microsoft SQL Server. 

12 Examples of kubectl command in Linux

Hello guys, if you are working with Kubernetes pods like deploying your application, starting and stopping them by scaling to zero instances, while you just want to see logs or want to login into the Kubernetes pods itself, you must know how to use kubectl commands to do all these task. Since most of the companies, both big and small are using Kubernetes to deploy services on cloud, its imperative for Java developers and other Software developers to get familiar with the kubectl command. We deploy our Java Microservices on Kubernetes mainly because Kubernetes can start the services automatically when it goes down. We have different Kubernetes clusters for different environments like DEV, UAT, and PRODUCTION and I often switch between those cluster using kubectl commands to check the status of our Java services or interact with them.

5 Examples of df command in Linux

The df command is used to find the amount of disk space used and available on different partitions and file systems. The simplest example of df command is just typing df on console with out any arguments and it will show you the space used and available on all currently mounted file systems of all types e.g NFS, ext3 and both local and remote. Alternatively you can ask df command to print the size and space available and used for a particular partition. Normally the disk space is printed in units of 1024 bytes, but this can be overridden. I commonly use df -h option to print the size and disk usage in human readable format e.g. G for giga bytes, M for mega bytes and so on. 

How Long does it Take to Learn Machine Learning in 2023?

Hello guys, if you want to learn Machine Learning in 2023 and wondering how long does it take to learn Machine Learning and become a Machine Learning Engineer then you have come to the right place. Earlier, I have shared best free Machine Learning courses and books and in this article, I will share how much time it take to learn Machine Learning and how you can quickly learn essential ML concepts and become a Machine Learning Engineer in 2023 but before that let's see what does Machine Learning means? Machine learning is the science of making the machine predict the result of something based on previous data. 

How to Base 64 Encoding Decoding in Java 8 - Example Tutorial

Until Java 8, there was no standard way to Base64 encode a String in Java or decode a base64 encoded String. Java Programmers either use Apache Commons library and its Base64 class to encode or decode binary data into base 64 encoding, as shown here, or rely on internal Sun classes e.g. sun.misc.BASE64Encoder and sun.misc.BASE64Decoder(), which was not officially part of JDK and can be removed without notification. Java 8 solves this problem by providing standard support for base64 encoding and decoding by providing a java.util.Base64 class. 

What is happens-before in Java Concurrency? An example

A couple of days ago, one of my readers messaged me on LinkedIn about a Java interview question he has recently faced - what is the happens-before relationship in Java concurrency? What is the benefit of it, and how exactly it works? He kind of has some ideas about that its related to the Java Memory Model and provides some sort of visibility guaranteed but couldn't explain with conviction to his interviewer, particularly with a code example and was a bit disappointed. He then asked me if I can write an article about it. I said you should have read the Java concurrency in Practice book or join the Java Concurrency in Practice Bundle course by Heinz Kabutz before the interview, that would have helped, but nonetheless, I liked the idea to just provide a quick overview of what is the happens-before relationship between threads in Java.

5 ways to find length of String in Java - Example Tutorial

On another day, someone asked me, is there a way to find the length of String without using the length() method from java.lang.String class? I didn't ask why, because I know it might have been asked to him on Interviews. Before I explore ways to find the length of String, let's recap what does the length of String means in Java? Well, it's no different than C here, a number of characters in a String including whitespace, newlines are known as length of String. By knowing this, you can think of many approaches to calculating length e.g. getting a char array from String and counting a number of characters or many are by applying some clever tricks.

How to recursively show all files in a directory and sub-directory in Java - Example

Hello, guys if you are looking for a Java program to recursively list all files in a directory or sub-directory in Java then you have come to the right place. Earlier, I have shared the best Java Programming courses and In this article, I will show you how you can use the SimpleFileVistor class from java.nio package to recursive list all files and directories inside a given directory. The API also provides you control over whether to list only files or directories when you are navigating recursively. This makes it very useful for archiving programs or creating build tools like Maven or any Java program which has to deal with files and directories. 

Solving ArithmeticException in Java? Integer and Floating point Arithmetic Example

I am starting a new series called Java Coding Quiz, in which I'll show you subtle Java concepts hidden in the code. This is an OCAJP or OCPJP style question but focused on teaching subtle details of the Java programming language. In today's puzzle, you will learn about one of the key concepts about how floating-point and integer arithmetic works in Java. This is a very important concept for any Java developer because Java behaves differently when the same operation is performed by different types of variables but of the same value.

How to use Comparable Interface in Java? compareTo() Example

Hello, guys, today I am going to talk about one of the fundamental concepts in Java, defining the natural ordering of the objects like lexicographical order for String and numerical order for Number classes like Integer, Double, Float, etc. The compareTo() method is defined in the java.lang.Comparable interface. It is used to define the natural ordering of an object, for example String class override compareTo() to define the lexicographical order for String objects. Integer class override compareTo() to define the numeric ordering of integer objects.

How to implement Linear Search in Java? Example Tutorial

Hello guys, earlier, I have talked about how the binary search algorithm works and shared the code to implement the binary search in Java. In that article, someone asked me about is there any other search algorithm that exists? How can you search an element in the array if it's not sorted, and you cannot use the binary search algorithm? To answer his questions, I mentioned the Linear search algorithm, which is the predecessor of binary search. Generally, it is taught before the binary search algorithm because the binary search is faster than Linear search. However, never mind, you can still learn this useful algorithm to search for an item in the array or linked list.

When to make a method final in Java? Example

Hello guys, if you are wondering when to make a method final in Java then you have come to the right place. Earlier, I have told you when to make a method static and when to make private and today, I will teach you when to make a method final in Java. The final keyword in Java is not as mysterious as volatile or transient, but still, it creates a lot of doubts in programmers' minds. I often receive questions like, When to make a method final in Java or When to make a method static in Java, later I answered in my earlier post. Questions like this are not trivial, knowing what a keyword does is just a small part of mastering that functionality. Similar to the real world, where knowing that a sword can cut a lot of things is not enough for a warrior to survive, you need to know how to use that and more importantly, use it effectively. 

Review - Is Certified Web3 Professional (CW3P) on 101 Blockchains worth it

The evolution of technology has shown us the volatile nature of change. The most hyped technological phenomenon of one decade is redundant in the next. When you take a look back at the first time the world was introduced to the internet, all you can find are static pages. Today, the talks about the internet stepping into the web 3.0 phase have been gaining momentum. A Certified Web3 Professional can make the most of the emerging career opportunities in this field. However, it is important to know what web 3.0 actually means and how it would affect your career choices. Here is an overview of a few reasons why the CW3P certification by 101 Blockchains is a relevant choice for you.

Review - Is Google Digital Marketing & E-commerce Certification worth it?

Hello guys, if you want to learn Digital marketing and e-commerce skill online and looking for best resources like book, online courses, and tutorial then you have come to the right place. In this article, I am going to introduce with Google's Digital Marketing certification on Coursera, which is is a great resource to learn Digital Marketing in 2023. If you don't know, Google's Digital Marketing & E-commerce Certification is a popular program that offers individuals the opportunity to gain essential skills and knowledge in the digital marketing industry. The certification covers a wide range of topics, including search engine optimization (SEO), pay-per-click (PPC) advertising, e-commerce, and more

Top 10 Free JavaScript Online Courses for Beginners in 2023

Hello guys, if you want to learn Javascript, one of the most important skill for web development and looking for online resources like books, online courses and tutorials then you have come to the right place. Earlier, I have shared best JavaScript books and best JavaScript paid courses and in this article, I am going to share the best free courses to learn JavaScript online in 2023. But, before we get to the 10 best free JavaScript courses that will teach you everything you need to know about the exciting programming language, let me tell you a little about what it really is.JavaScript is basically a simple programming language that can be executed on the browser. It can be used for turning static HTML websites into interactive web pages. You can do this by dynamically updating the web content, validating form data, animating changes, and controlling the multimedia.

Spring Hello World Example in Java using Dependency Injection

Hello All, In this Spring framework tutorial, you will learn how to write the hello world example in the Spring framework. This should be your first tutorial to start learning the Spring framework, as it gets the ball rolling. While coding and running this example, you learn a lot about the Spring framework, Spring XSD files, necessary JAR files, and more importantly how the Spring framework works. This HelloWorld program in Spring framework is an extension of the classical Java hello world program, which you might have seen earlier. This program is written using the Dependency Injection design pattern by using the Spring Frameworks' IOC container.  Even though now you can configure Spring dependency using annotations and Java configuration, this example uses a traditional XML way to configure dependencies.

How to use jQuery Class and Id Selector to find DOM elements? Example

One of the best things about jQuery is there selectors, which gives jQuery enormous power to find and select DOM elements so easily. If you are coming from JavaScript background then you might love those classical methods to find DOM elements like getElementById() and getElementByName(). They have served very well in the old days of JavaScript coding,  but once you start using jQuery selector, which is quite similar to CSS selector, I am sure you will forget them. Searching and finding HTML elements using jQuery selectors are natural, intuitive, and super easy and that's why I love them.

5 Examples of Text Block and Multiline String in Java - Tutorial

While some programmers are troubled with frequent Java releases (it's actually hard to keep up), many are excited to see new features coming in Java every six months. I haven't been sharing a lot of new features lately, last I wrote about var from Java 10 and static factory from Java 9. Well, to be honest, I don't get much time to try out these new features and to publish articles on those, but a couple of new features from Java 12 and Java 13 caught my attention and I decided to give it a try and write something about them. So, the first feature in this series is the "Text block" of Java 13.

How to use Records in Java? Example Tutorial

Hello! Welcome, all again in the journey of Java. We are here today to learn a very interesting topic in Java: Records!  If you are wondering what is Record and how to use Record in Java then you have come to the right place. In this article, I am going to cover everything about the Record I know and will try to explain in simple words so that you know what is Records, what benefits it offers, and how you can use them. But before we dive in and understand what it is, let’s first understand what would happen without them. So, we would get an idea of the need and significance of Records. By the way, this is another article covering new Java features, earlier, I have covered Sealed ClassesCompletableFuturePhaser, and how to use var in Java. If you haven't read them already, you can check them to learn these useful Java features 

How to use Sealed classes and Interface in Java? Example Tutorial

Hello friends! If you are wondering what is Sealed class in Java and whether you should use it or not and looking for a Sealed class tutorial then you have come to the right place. Earlier, I have shared Java Record Tutorial and Java CompletableFuture tutorial and today, I will explain you about another interesting Java feature. Yes, I am talking about Sealed classes in Java. This is a relatively new feature that was added in Java 15 as a preview feature. This was added as part of JEP 360 to provide more fined-grained inheritance control in Java. This can be better understood by an example. So, I am going to give you a situation and we will analyze this situation together. 

6 Subtle Date and Calendar Details to Learn before using Date in Java - Example Tutorial

Hello guys, to appreciate the brilliance of the new Date and Time API introduced in Java 8, you must remember the nasty problems you have earlier faced with Java's old Date and Calendar API Well, I have been using Java for the last 20 years and I have to face them so I thought to write this article to educate Java programmers about the shortcomings of old Java Date and Calendar API. Another reason for this article is that even though Java is ready with the new, shiny, and carefully designed Date and time API, your project is probably not. Most of the prominent organizations that use Java at large scales, like Investment banks, Insurance companies, major E-commerce giants, are quite reluctant to upgrade. There are many firms, both big and small that are still running on Java 5 and expect to migrate to Java 6 in a couple of years.

How to find number of days between two dates in Java 8 [LocalDate until() & between() Example ]

You can use the LocalDate.between() method to find the number of days between two dates in Java. This method is full proof and takes care of date-time nuisances like leap year and daylight saving time. Before Java 8, it was really difficult to calculate the number of days between two dates in Java. Though old Date and Calendar API provides methods to compare two dates like equals(), before(), and after(), no method can tell the exact difference in days or months between two dates unless you are using the joda-time library. All that is over now. You can now do better date-time arithmetic using Java 8 Date and Time API.

How to use TreeSet in Java? SortedSet Example Tutorial

Hello friends, we meet again for our journey of learning Java. Today, we are gonna learn something very fruitful and easy. Hope you all are excited and ready. I would recommend you guys to go through the HashSet article which goes over hashing and what sets are actually as this topic has some of its features. So, What's the wait? Let's start! Continuing our example used in HashSet and reusing it here. Suppose you guys are given the task of storing car names (yes, I love cars :p). Now, how would you store it? This question has already been answered by our HashSet article. The new problem here is, we need to store the names in a naturally sorted manner. As we have a set of String, we need to sort them alphabetically. How to do that?

How to Remove a Key, Value, or Entry from HashMap in Java 8 - Example Tutorial

In the last article, I have shown how to remove key/value pairs from a map in Java-based upon some conditions like removing all entries where values are greater than some values. I have told you that you must use the Iterator's remove() method for removing mapping while iteration to avoid ConcurrentModificationException, but that's not required anymore in Java 8. From JDK 8 onwards, you can selectively remove mapping without iterating over Map. The JDK 8 API has added several new methods to existing interfaces e.g. java.util.Collection, java.util.Map, Comparator, etc because the interface can now contain concrete methods in the form of static and default methods.

[Solved] How to Reverse an ArrayList in Java using Recursion? Example Tutorial

If you ever need to reverse a List in Java e.g. ArrayList or LinkedList, you should always use the Collections.reverse() method. It's safe and tested and probably performs better than the first version of the method you write to reverse an ArrayList in Java. It's also one of the recommended best practices to prefer the library method instead of writing your own, as advised by great Joshua Bloch in Effective Java. There are so many benefits of using library methods like it was written by experts, thoroughly and open-source tested, and more actively maintained. Anyway, if you have been asked to write a function to reverse a List using recursion in Java, maybe as part of your homework, assignment, or during an interview, then you are in the right place.

How to use ConcurrentLinkedDeque in Java? Example Tutorial

Hello guys, ConcurrentLinkedDeque is another amazing class from Java's concurrent collection package which can be used as high-performance, thread-safe and non-blocking data structure. As the name suggest, its a Deque which means its allows you to operate at both ends of queue. You can insert at one end and consume from other end. It's also concurrent and thread-safe which means multiple threads can operate on same queue at the same time. You can have multiple producer threads which are inserting data into the queue and multiple consumer threads which are consuming data from this data structure. Before going to discuss this topic, let me inform you that this article is in continuation of our deque article series. It's totally not mandatory to go through those articles, but it is highly recommended as they all play a part in the understanding of today's topic.