The 2021 Java Developer RoadMap [UPDATED]

Hello guys, first of all, I wish you a very Happy New Year 2021. I have been sharing a lot of roadmaps to become a Web developer, DevOps engineer, and recently React.js developer. One of the requests I received from many of my readers was for creating a Java Developer Roadmap. Since Java is my expertise, It wasn't a problem to create a Java Developer Roadmap, but it took slightly longer for me to create one because of the limited time I get. Anyway, I am finally ready to share my Java developer RoadMap with you. This Roadmap contains my years of experience and the unobstructed path of how to become a Java expert. It answers many burning questions like which technologies a Java developer should learn? What tools make you a better Java developer? And, which framework a Java developer must absolutely learn.

10 Tips to Become a Better Java Developer in 2021 [UPDATED]

I often receive emails from my readers about how they can become a better Java developer, what things they should learn, and which area they can work on to become a Rockstar Java developer. After answering them individually over the last few years, I thought to jot down a couple of points, which I think will make you a better Java Programmer and Application developer. But, before going into that, I would like to stress that a better programmer is always a better Java developer, and that's why all the tips I have shared before to improve your programming skill and become a better programmer still holds true.

Top 10 Computer Programming, Artificial Intelligence, and Sci-Fi Movies for Programmers and Tech geeks

Hello guys, being a computer programmer, I love movies that are based on programmers' life, work, and concept. Thankfully Hollywood is no short of films based on computers, programming, and geeky technical stuff. Another day, I was pretty bored, and when I look back to my DVD collection, I found Inception, Matrix Reloaded, and The Social Network, this all movies are in some way related to computers and technology, which strike me the idea to publish my list of Top 10 Computer programming movies.

Top 10 Technology Jobs Programmers and Software Engineers Can Aim in 2021 for Better Salary

If you are a Computer Science Graduate or someone who is thinking of making a career in the Software development world or an experienced programmer who is thinking about his next career move in 2021 but not so sure which field you should go then you have come to the right place. In this article, I will tell you the top 10 highest paying technical jobs you can aim for. All you need is some Programming and Coding experience and a passion for learning. Particularly the Machine learning and Data science field looking very promising for fresh Computer Science graduates, beginners, and experienced programmers.

10 Reasons to Learn Python Programming Language in 2021

If you are a regular reader of this blog, then you may be wondering why am I writing a blog post to tell people to learn Python in a Java blog? Didn't I ask you to prefer Java over Python a couple of years ago? Well, things have changed a lot since then. In 2016, Python replaced Java as the most popular language in colleges and universities, and since then, it has never looked back. Python is growing and growing big time. If you read programming and technology news or blog post, then you might have noticed the rise of Python as many popular developer communities, including StackOverflow and CodeAcademy has mentioned the growth of Python as a dominant programming language.

Top 3 Programming Languages Java Developers Can Learn in 2021

If you are a Java programmer and thinking to learn some news programming languages to expand your knowledge and skill, but not sure which programming language is better for you then you have come to the right place. In this article, I'll share 3 programming languages Java developers should learn in 2021 and why they should learn them. There is no surprise that all of these programming languages are JVM-based programming languages but they all have different qualities that make them unique and useful for a certain task. Also, being a Polyglot developer is good quality and often valued high on interviews. It also expands your thinking because different programming languages have different features that make certain things really easy.

Top 10 Gift Ideas for Programmers, Software Engineers, and Tech Geeks

Hello guys, it's that time of the year again when we buy gifts for our loved ones, friends, and colleagues. If you are looking for gift ideas for your programmer friends and colleagues then you have come to the right place. My friend circle has a lot of programmers and non-programmers. When it comes to buying gifts for birthdays, anniversaries, or holidays, I receive a lot of queries from my non-programmer family and friends about what to buy for a programmer? Well, buying a gift is easy but choosing or finding the right gift for someone is really really tough. I have had this experience when it comes to buying gifts for kids. 

10 Things Java Programmers Should Learn in 2021 [UPDATED]

It's 24th December now, and only a few days have left in the year 2020, one of the year which no one will forget the rest of their life. Now, it's time to look back and retrospect what you have achieved in 2020 and what you could have done better, despite all the challenges 2020 has thrown to all of us. This will help you to create your goals for 2020. As a programmer, our biggest challenge is to keep ourselves up-to-date. Technology changes very fast, and you will see a new version of programming language and framework coming to every couple of years. This year has plentiful changes with keeping up-to-date with a new Java version every 6 months, Spring 5, Spring Security 5, and Spring Boot 2; it's probably the busiest year in terms of changes for Java developers.

Where and How to download Spring Framework JAR file (Spring 5.0 or Spring 4.0) without Maven, Gradle

One of the easiest and oldest ways to run a Java program which depends on an external library or framework is to download dependency JAR files, put them on the classpath and then run the program by creating a Main class with the main() method. This is simple but not as easy as you think, there are many challenges down the road e.g. you need to find the right version of JAR files and their dependencies e.g. Spring might have a dependency on other third-party libraries like Log4j. So, when the build tool like Maven and Gradle comes, everybody stopped downloading the JAR file manually.

Udemy vs DataCamp Review? Which is better to Learn Python, SQL, and Data Science?

Hello guys, if you want to learn Python, SQL, DataScience, and Data Analysis and wondering whether you should go for Udemy or DataCamp then you have come to the right place. Earlier, I have published a review of Udemy vs Coursera and Udemy vs Pluralsight and in this article, we will review Udemy vs DataCamp. When it comes to learning Data skills like SQL, Data Science, Data Visualization, Tableau, Microsoft Power BI, Datacamp has some of the best resources and that's the unique selling point for them but what about price? Well, these are the questions which I have tried to answer in this article. 

Udemy's The Data Science Course 2021: Complete Data Science Bootcamp Review - Is it worth it?

Hello guys, if you want to learn Data Science and looking for the best courses or want to join The Data Science Course 2021: Complete Data Science Bootcamp course on Udemy but not sure whether this course is right for you then you have come to the right place. Earlier, I have shared the best Data Science courses and in this article, I am going to review this popular Udemy course to learn Data Science in 2021. This is one of the most popular Udemy courses when it comes to learning Data Science and with more than 360K students it's right there with the Data Science A-Z course by Kirill Eremenko, my favorite Udemy instructor for Data Science and Machine Learning. 

How HTTP Basic Authentication works in Spring Security?

In the last article, you have learned how to enable Http basic authentication in Spring security-based Java application, and now we'll go one step further to understand how exactly http basic authentication works in Spring security. If you remember, when you use HTTP Basic for authentication purposes, the client, like a browser or a rest client sends login credentials in the http request header. The header is aptly named "Authorization," and it contains a Base64 encoded string, which is created by concatenating username and password using a colon. For example, if the username is "johnsmith" and the password is "JOHN3214" then they will be concatenated as "johnsmith:JOHN3214" before encoded using base 64 encoding algorithms.

How to enable Spring Security in Java Web application?

Spring Security is one of the most popular open-source frameworks to implement security in Java web applications in a declarative way. It provides several essential security features like LDAP authentication, authorization, role-based access control,  remembers the password, URL protection, concurrent active sessions management, etc. To enable Spring security in Java Web application, you need to configure three things -  declare a delegating proxy filter in web.xml, add the ContextLoaderListener in web.xml and provide actual security constraints on applicationContext-Security.xml file. Since Spring security uses a chain of filters to implement various security constraints, also known as Spring's "security chain filter", it relies on web container for the initialization of delegating filter proxy.

How to limit number of concurrent session in a Java web application using Spring Security?

If you don't know, Spring security can limit the number of sessions a user can have in a Java web application. If you are developing a web application especially a secure web application in Java JEE then you must have come up with the requirement similar to many online banking portals have like only one session per user at a time or no concurrent session per user. If the user tries to open a new session then either an alert is shown or his previous session is closed. Even though you can also implement this functionality without using spring security but with Spring security, it's just a piece of cake with coffee :). 

2 Ways to setup LDAP Active Directory Authentication in Java - Spring Security Example Tutorial

The LDAP authentication is one of the most popular authentication mechanism around the world for enterprise application and Active directory (an LDAP implementation by Microsoft for Windows) is another widely used LDAP server. In many projects, we need to authenticate against active directory using LDAP by credentials provided in the login screen. Sometimes this simple task gets tricky because of various issues faced during implementation and integration and no standard way of doing LDAP authentication in a Java web application. Even though Java provides LDAP support but in this article, I will mostly talk about spring security because of it's my preferred Java framework for authentication, authorization, and security-related stuff.

How to enable HTTP Basic Authentication in Spring Security using Java and XML Configuration

In the last article, I have shown you how to enable Spring security in Java application and today we'll talk about how to enable Basic HTTP authentication in your Java web application using Spring Security. I'll show you how to do that using both the Java configuration and XML configuration if you are using Spring Security 3.1 or lower version, but before that let's understand what is Http basic authentication and why do you need that? One of the most common ways to authenticate a user in a web application is by using a form login like you provide a login page and the user will enter his username and password for authentication. This works great for human users but sometimes there are situations where you can't use a login form for authentication.

What is SecurityContext and SecurityContextHolder in Spring Security?

The SecurityContext and SecurityContextHolder are two fundamental classes of Spring Security. The SecurityContext is used to store the details of the currently authenticated user, also known as a principle. So, if you have to get the username or any other user details, you need to get this SecurityContext first. The SecurityContextHolder is a helper class, which provides access to the security context. By default, it uses a ThreadLocal object to store security context, which means that the security context is always available to methods in the same thread of execution, even if you don't pass the SecurityContext object around. Don't worry about the ThreadLocal memory leak in web application though, Spring Security takes care of cleaning ThreadLocal.

Role based Access control using Spring Security and MVC, Mapping LDAP Groups to Authorities for Authorization

Authentication and Authorization is an integral part of any Java enterprise or web application. Since most of the company uses LDAP Active directory for authentication, authorization, and Role-based access control (RBAC), it's good to know How to implement Role-based access control using Spring MVC and Spring Security. This is the second part of my articles on using Spring Security for authentication and authorization in Spring MVC based Java application. In the last part, we have learned about doing LDAP authentication against Windows active directory, and in this Spring Security tutorial, we will learn How to map LDAP groups to authorities for implementing Role-based access control or authorization.

JDBC Database Connection Pool in Spring Framework – How to Setup Example

Setting up JDBC Database Connection Pool in Spring framework is easy for any Java application, just matter of changing a few configurations in the spring configuration file. If you are writing core java application and not running on any web or application server like Tomcat or  Weblogic,  Managing Database connection pool using Apache Commons DBCP and Commons Pool along-with Spring framework is a nice choice but if you have the luxury of having web server and managed J2EE Container, consider using Connection pool managed by J2EE server those are a better option in terms of maintenance, flexibility and also help to prevent java.lang.OutofMemroyError: PermGen Space in tomcat by avoiding loading of JDBC driver in web-app class-loader.

How to call Stored Procedures from Java using IN and OUT parameter - Spring Framework Example Tutorial

Spring Framework provides excellent support to call stored procedures from Java application. In fact, there are multiple ways to call stored procedures in Spring Framework, e.g. you can use one of the query() method from JdbcTemplate to call stored procedures, or you can extend abstract class StoredProcedure to call stored procedures from Java. In this Java Spring tutorial, we will see the second approach to call a stored procedure. It's more object-oriented, but at the same time requires more coding. StoredProcedure class allows you to declare IN and OUT parameters and call stored procedure using it's various execute() method, which has protected access and can only be called from a subclass.

Difference between Setter vs Constructor Injection in Spring

Spring Setter vs. Constructor Injection
Spring supports two types of dependency Injection, using a setter method, e.g. setXXX(), where XXX is a dependency or via a constructor argument. The first way of dependency injection is known as setter injection while later is known as constructor injection. Both approaches of Injecting dependency on Spring bean has there pros and cons, which we will see in this Spring framework article. The difference between Setter Injection and Constructor Injection in Spring is also a popular Spring framework interview question

How to delete from a table using JOIN in SQL Server

It's a little bit tricky to delete from a table while using any type of JOIN in SQL like Inner Join, Left Outer Join, or Right Outer Join. The obvious syntax doesn't work as shown below:
delete from #Expired e INNER JOIN 
Deals d ON e.DealId = d.DealId
Where d.Brand = 'Sony'

here I have a table with a list of expired deals that I want to delete from the Deals tables, but only for Sony.

5 Free Online Courses to Learn OpenCV and Computer Vision in 2021

Hello guys, if you want to learn OpenCV and Computer Vision in 2021 and looking for free OpenCV and ComputerVision courses then you have come to the right place. Earlier, I have shared the best OpenCV courses which are loved by you guys but some of you also asked to share free OpenCV and Computer Vision and that's what I'll be doing today. In this article, I am going to share 5 free online courses to learn Computer Vision and Open CV in 2021. These courses are created by OpenCV experts and trusted by thousands of developers on platforms like Udemy, Coursera, and Pluralsight. You can also join them to kick start your career in Computer Vision and OpenCV field.

Top 5 Websites for Coding Interview Preparation - Best of Lot

Are you preparing for Coding Interviews? If yes then you might know that there are a number of free online resources to practice important topics for coding Interviews like data structure and algorithms, database and SQL, and others. These websites are equally useful for both, new programmers who are just learning the fundamentals and for experienced ones who are brushing up their coding skills for interviews. I have been sharing useful resources for programming and technical interviews for a long time in this book. In the past, I have shared some recommended online courses and books for coding interviews, as well as some of the frequently asked programming interview questions from tech companies (see here). But, my readers have been asking about some recommended websites for practicing programming challenges and coding interview questions.

Top 10 Coursera Guided Projects to Learn Essential Programming Skills in 2021 - Best of Lot

Learning new skills and programming languages is essential for anyone to have a professional carer but most of the people think that reading books and watching some tutorials make them professional and expert at what they are doing but that totally wrong and they need to create projects to put their skills under the test. For that reason, you have to practice more and more and gain skills that you need to call yourself a professional programmer or developer and here come the benefits of an online learning platform known as Coursera that offers you courses to learn skills then you can also enroll in a program called a guided project to test your skills.

Top 5 Career Options for Experienced Java Developers

If you are an experienced Java programmer who has done a good amount of coding and development, like someone with more than 5 to 8 years of experience, working as a senior Java developer or a technical lead and wondering how to grow to the next level, then you have come to the right place. In this article, I'll share five career options and Jobs experienced developers like you can choose to take your career to the next level. Apart from becoming a project manager, which is what many programmers wanted, there are other more technical and better career opportunities are available now. It's especially great for Programmers with less or no people management skills or who love coding and development and always want to remain hands-on.

Top 5 Websites to Learn Java Coding for FREE - Best of lot

Hello guys, if you want to learn Java Programming and looking for the best websites to learn Java coding for free then you have come to the right place. In the past, I have shared the best Java courses and today, I am going to share free websites to learn Java Programming for free. being the author of a Java blog and programmer I often receive questions like how to improve my coding skills?,  or how do I learn to code in Java?, or I am having difficulty solving programming problems, please help, etc. This is mostly from programmers who have just started programming or a graduate with a programming degree or even some programmers with a year or two in Job.

Top 5 Websites to Learn Python Coding for FREE - Best of Lot

Believe it or not, but Python has inspired many people to learn to code, and it's continually inspiring them. I know a handful of people who are learning Python for different reasons, starting from web development to machine learning. I have seen new people learning Python to write web apps using Django, create a Machine learning Model using Python, and just to write some handy scripts to automate the boring stuff. Python is currently the world's #1 programming language and its popularity is growing every passing day, thanks to Data Science and Machine learning and awesome Python libraries like Pandas, PyTorch, NumPy, and TensorFlow.

2 Best Deals for Educators and Online Course Creators - [Teachable & Thinkific Discounts]

Hello guys, I have been advocating for programmers and developers to create online courses to both learn and earn. In today's world, there is no better way to teach than creating courses and this pandemic has proved that e-learning is going to stay and increase in near future. But, creating a course is easier said than done, especially if you are a perfectionist. There are a lot of things involved like choosing a camera, mike, online course hosting platforms, tools, and buying other gear. If you want to invest in your online course creation tools and platforms then Black Friday is probably the best time to buy anything.

Grokking The Java Interview - My First Book After 10 Years as Java Blogger

Hello guys, I am very excited to announce the release of my first book after 10 years of writing Java articles and Java interview questions While I have been blogging for the last 10 years, I have never really sold anything, didn’t have any book, course, or any digital product. Finally, now I have my first book and it's going to help Java developer cracking interview — Grokking the Java interview. This was my long desire to have my content in a structured and organized way to provide more value and this book does that. It provides a structured way to prepare for Java interviews and learn essential core Java concepts.

Top 5 Black Friday and Cyber Monday Deals for Programmers

Hello guys, Black Friday is a special occasion and probably the best time to invest in your technical skills. This is the time when every company offers sweet deals on books, courses, tools, and things that matter most for programmers and developers. But, at the same time, it's not easy to find out great deals which are worth it for you. I have been receiving a lot of great offers from sites like Udemy, Pluralsight, Educative, CodeCademy, DataCamp, Coursera about their Black Friday deals and many of my readers were also asking me about that. 

Top 5 Courses to Crack Salesforce Administrator (CRT-101) Certification in 2021 - Best of Lot

Hello guys, if you are preparing for Salesforce Administrator (CRT - 101) certification and looking for the best online courses then you have come to the right place. Earlier, I have shared the best Salesforce developer and App Builder courses and in this article, I am going to share the best Salesforce Administrator courses you can join to crack this in-demand certification in 2021. If you follow Cloud Computing trends then there is a good chance that you might have heard about popular Salesforce certifications like the Salesforce Certified Administrator program (CRT-101). There is a great demand for certified Salesforce administrator due to the immense popularity of Salesforce in cloud-based CRM.

How to write Thread-Safe Code in Java

thread-safety or thread-safe code in Java refers to code which can safely be used or shared in concurrent or multi-threading environment and they will behave as expected. any code, class, or object which can behave differently from its contract on the concurrent environment is not thread-safe. thread-safety is one of the risks introduced by using threads in Java and I have seen java programmers and developers struggling to write thread-safe code or just understanding what is thread-safe code and what is not?

Top 5 Courses to Learn Microsoft Power BI in 2021 - Best of Lot

Hello guys, if you are learning Microsoft Power BI or keen to learn Microsoft Power BI and looking for the best Power BI online courses then you have come to the right place. In the past, I have shared the best tableau course and online courses to learn QlikView/Qliksense, and today I am going to share the best courses to learn Microsoft Power BI in 2021. This is the world of Data and any organization which has the right set of data has a competitive advantage over others, but data alone is of no use unless you can analyze and visualize it to find useful insights to grow the business. 

Difference between a Thread and an Executor in Java

Even though both Thread and Executor, both are used to execute some code in parallel, there are some key differences between them. The main difference between a Thread and an Executor in Java is that it later provides a thread pool in Java. Along with several concurrency utilities like CountDownLatch, CyclicBarrier, Semaphore, FutureTask, Callable interface, and Conditions, JDK 5 also introduced a built-in thread pool, which provides a set of working threads to run your code in parallel. Since creating, starting, and running a thread is a time-consuming and expensive operation, many Java applications create a spool of thread at start-up and leverage that for executing the task in parallel until Java introduced the built-in thread pool.

Can You Make an Array or ArrayList Volatile in Java?

This is one of the many interesting multi-threading questions I have shared in my post 50 multi-threading interview questions. Yes, you can make an array volatile in Java, there is no problem with that, neither compiler will flag any error not JVM will throw any exception but the tricky part is why you want to make an array volatile and what is the effect of making an array volatile in Java? In order to answer this question, you must be familiar with both volatile modifier and Java memory model, otherwise, it would be difficult to answer, and that's why it's also one of the trick questions from Java interviews.

Udemy's The 2021 Complete Python Bootcamp - Go From Zero to Hero Review

With various programming languages in nowadays world, it becomes really hard to choose what language you should learn if you are planning to have a software engineer career, but that actually depends on what thing you should be good at like being a front-end web developer you must learn HTML and CSS, and for the android app development you should learn Java or Kotlin.  Most of the language has a specific industry that you can use it in but what if told you that there is a language called python that can work in many industries.

Difference between Executor Framework and Fork Join Pool in Java?

Java 5 added Executor Framework to provide an out-of-box thread pool to Java programmers and Java 7 added ForkJoinPool an implementation of ExecutorService which specifically designed to execute ForkJoinTask. The Executor Framework provides several classes e.g. Executor, ExecutorService, and Executors for execution and creating thread pools. It also provides several built-in, ready to use thread pools like a pool of fixed threads, cached thread pool which can expand itself, spawn new threads if required due to heavy load.

Top 5 Courses to learn Design Thinking in 2021 - Best of Lot

Hello guys, if you are interested in creative ideas and solutions then you may have heard about the Design Thinking technique. Design thinking is the process of making good products that suit users, and also it is a method for problem-solving by focusing on the people's needs and discovering the best creative solutions that meet these needs. If you are keen to learn about the Design Thinking process and looking for resources to learn Design thinking then you have come to the right place.

Top 5 Certified Kubernetes Administrator (CKA) Online Courses to Learn in 2021 - Best of Lot

Hello guys, if you are preparing for Kubernetes Administrator certification and looking for the best online courses to start with then you have come to the right place. In the past, I have shared the best courses to learn Kubernetes and Docker and in this article, I am going to share the best online courses to prepare for the prestigious Certified Kubernetes Administrator (CKA) exam. There is a lot of demand for skilled Kuberntest administrators to manage cloud environments and Kubernetes cluster and this exam aims to produce skilled Kubernetes developers and administrators.

Difference between ExecutorService.submit() and Executor.execute() methods in Java?

What is the difference between Executor.submit() and Executor.execute() method in Java? This is one of the good multi-threading questions for experienced Java programmers, mostly asked in Investment Banks like Barclays, Deutsche Bank, or Citibank. A main difference between the submit() and execute() method is that ExecuterService.submit()can return the result of computation because it has a return type of Future, but the execute() method cannot return anything because's return type is void. The core interface in Java 1.5's Executor framework is the Executor interface which defines the execute(Runnable task) method, whose primary purpose is to separate the task from its execution.

How to Join Multiple Threads in Java? [Thread.join() Example]

Join method from the Thread class is an important method and used to impose order on the execution of multiple Threads. The concept of joining multiple threads is very popular in a multithreading interview question. Here is one such question, “You have three threads T1, T2, and T3, How do you ensure that they finish in order T1, T2, T3 ?. This question illustrates the power of the join method on multithreaded programming. Unlike classical thread questions like the difference between the wait and sleep method or solving the producer-consumer problem in Java, This one is a bit tricky.

Top 5 Courses & Practice Tests to Crack CompTIA Security+ Certification (SY0–501) in 2021 - Best of Lot

Hello guys, the CompTIA Security+ certification is aimed to be for people who are a beginner in security but at least have some fundamentals in IT in general and you will learn some fundamentals in  Cyber Security such as SQL injection, malware, zero-day vulnerabilities, and much more. If you are preparing for CompTIA Security + Certification and looking for the best online training course to boost your preparation then you have come to the right place. In the past, I have shared the best Cyber Security courses, CompTIA A+ Courses, Cloud+ Courses, and today, I will share the best online courses to crack the CompTIA Security+ certification. These courses have been prepared by experts and trusted by thousands of candidates preparing for this prestigious exam.

Top 5 Difference Between Callable and Runnable Interface in Java

The difference between Callable and Runnable is one of the most frequently asked multi-threading and concurrency interview questions in the Java world. I remember it was 2007 when I first heard about the Callable interface and that too on a telephonic interview. Till then, I was happy using Runnable to implement threads and just started paying attention to Java 1.5, as most of the applications by then using Java 1.4. That one interview question encouraged me to learn more about several other useful features introduced in Java 5 concurrency library like CountDownLatch, CyclicBarrier, Semaphore, Atomic variables, and Thread pool. This is one of the reasons I always encourage Java developers to give/take regular interviews, just to update your knowledge.

Difference between Executor, ExecutorService and Executers class in Java

All three classes Executor, ExecutorService, and Executors are part of Java's Executor framework which provides thread pool facilities to Java applications. Since the creation and management of Threads are expensive and the operating system also imposes restrictions on how many Threads an application can spawn, it's a good idea is to use a pool of threads to execute tasks in parallel, instead of creating a new thread every time a request comes in. This not only improves the response time of the application but also prevent resource exhaustion errors like "java.lang.OutOfMemoryError: unable to create new native thread".

What is CyclicBarrier Example in Java 5 – Concurrency Tutorial

What is CyclicBarrier in Java
CyclicBarrier in Java is a synchronizer introduced in JDK 5 on java.util.Concurrent package along with other concurrent utility like Counting Semaphore, BlockingQueue, ConcurrentHashMap, etc. CyclicBarrier is similar to CountDownLatch which we have seen in the last article  What is CountDownLatch in Java and allows multiple threads to wait for each other (barrier) before proceeding. The difference between CountDownLatch and CyclicBarrier is also a very popular multi-threading interview question in Java. CyclicBarrier is a natural requirement for a concurrent program because it can be used to perform the final part of the task once individual tasks are completed.

How to use Exchanger for sharing Object between Threads in Java [Example]

Hello guys, if you are working in a concurrent Java application then you might have heard about the Exchanger class of java.util.concurrent package. The Exchanger in Java is another concurrency or synchronization utility introduced in Java 1.5 along with CountDownLatch, CyclicBarrier, and Semaphores. As the name suggests, the Exchanger allows two Threads to meet and exchange data at the rendezvous or meeting point. This means you can use Exchanger to share objects between threads and for inter-thread communication. The java.util.Exchanger is a parametric class, which defines and holds the type of object to be exchanged. It has an overloaded method called the exchange(), which is used to exchange objects between threads.

Difference between atomic, volatile and synchronized in Java?

Hello guys, a lot of people are asking me about the volatile, synchronized, and volatile variables in Java concurrency. After answering them individually on Facebook and LinkedIn, I thought to write this article. In this Java multi-threading tutorial, we will learn about the difference between atomic, volatile, and synchronized variables in Java. Though there are a lot of articles, posts, books, courses, and tutorials already exist on Java concurrency and synchronization, where different people have tried to explain concurrency concepts, but unfortunately, multi-threading and concurrency concepts are still hard to grasp, especially the volatile variables.

Maven Eclipse plugin M2Eclipse issues after updating passwords

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 notify and notifyAll in Java - When and How to use

notify vs notifyAll in Java
What is the difference between notify and notifyAll method is one of the tricky Java questions, which is easy to answer but once the Interviewer asks follow-up questions, you either got confused or not able to provide clear-cut and to the point answers? The main difference between notify and notifyAll is that the notify method will only notify one Thread and the notifyAll method will notify all Threads which are waiting on that monitor or lock. By the way, this is something you have been reading all over places and to be frank,  this statement despite being correct is not complete, and it's very difficult to understand the difference between notify vs notifyAll by just reading this statement.

Coursera's Google IT Automation with Python Professional Certification Review - Is it worth it?

Hello guys, if you are joining Google IT Automation with Python Professional Certification on Coursera and want to find out whether it's worth your time and money or not then you have come to the right place. Earlier, I have shared the best Cousrea Certifications and review of other popular Google courses on IT support and in this article, we'll review Google's most popular Python certification course in Coursera. Google's IT automation with Python is a professional certificate and more than 175,000 people have already joined this course and it's from Google which is a great sign but you will find out more about this course in this review. 

Maven vs Gradle for Beginner Java Developers

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. 

Top 10 Microsoft Azure Cloud Certifications You can Aim in 2021 - Best of Lot

Hello guys, if you are aiming to become an Azure certified professional and looking for top 10 Azure certification then you have come to the right place. Earlier, I have shared many best AWS certifications and many free courses to learn AWS, GCP, and today I am going to share the top 10 Azure certification you can aim for in 2021. Cloud computing technology is growing almost faster than any other industry and in fact, the growth has increased by 17% in 2021 compared to the last year, and that because of many facts like the tremendous increase in Saas companies as well as the power you get compared to what you paid for made a lot of people thinking to use the cloud to store their websites and running their businesses.

Top 5 Courses for CompTIA Network+ certification (with Practice Tests) in 2021 - Best of Lot

Hello guys, CompTIA Network+ certification is a good certification to aim for if you are planning to have any kind of job position that needs networking such as computer networking analyst, computer support, and so on. The certification is aimed at anyone beginner or advanced level of networking knowledge and it is good also if you are considering a career in the network industry. If you already preparing for CompTIA Network+ certification and looking for the best online training courses and practice tests to get ready for the exam then you have come to the right place.

Why Every Programmer & DevOps Should Learn Docker and Kubernetes in 2021

Hello guys, if you are looking to learn some in-demand software tools to improve your profile then you have come to the right place. Earlier, I have shared the best tools for Java developers and today, I am extending it to all developers.  Along with Docker, if there is another tool or technology which has caught software developers' attention in recent times then it must be Kubernetes. Actually, it's often mentioned alongside Docker becuase it takes what Docker offers to the next level. If you don't know what is Docker and Kubernetes let me give you a brief overview before going deep into why every programmer should learn Kubernetes.

ThreadLocal in Java - Example Program and Tutorial

ThreadLocal in Java is another way to achieve thread-safety apart from writing immutable classes. If you have been writing multi-threaded or concurrent code in Java then you must be familiar with the cost of synchronization or locking which can greatly affect the Scalability of application, but there is no choice other than synchronizing if you are sharing objects between multiple threads. ThreadLocal in Java is a different way to achieve thread-safety, it doesn't address synchronization requirement, instead, it eliminates sharing by providing an explicit copy of Object to each thread. Since Object is no more shared there is no requirement of Synchronization which can improve scalability and performance of the application.

Inter Thread Communication in Java using Wait Notify Example

Wait and notify methods in Java are used for inter-thread communication i.e. if one thread wants to tell something to another thread, it uses notify() and notifyAll() method of java.lang.Object. A classical example of the wait and notify method is a Producer-Consumer design pattern, where One thread produces and put something on the shared bucket, and then tell the other thread that there is an item for your interest in a shared object, consumer thread than pick than item and do his job, without the wait() and notify(), consumer thread needs to be busy checking, even if there is no change in the state of the shared object.

How to create PDF File in Java - iText Example

Hello guys, generating PDF files in today’s enterprise applications is quite common. Doing this with Java is not an easy task as Java does not gives default api’s to handle PDF files. No worries, iText jar is for you. Earlier, I have shared about iText vs Apache FOP, two of the most popular libraries to create PDF files and today, I will show you an example of how to create a PDF files using the iText library in Java. If you are not familiar,  iText is a free Java-PDF library that allows you to generate PDF files on the fly (dynamically). iText is an ideal library for developers looking to enhance web- and other applications with dynamic PDF document generation and/or manipulation.

10 Tips Improve Your Speed in Bash, and Linux Command Line

Hello guys, Have you ever amazed to see someone working very fast in UNIX, firing commands, and doing things quickly? Yes, I have noticed that a couple of times, and I have always inspired to learn from those superstar developers. In this article or tutorial or whatever you call it, I have dedicated to sharing some UNIX command practices I follow to work fast, quick, or efficiently in Linux. I work for the Financial services industry, and my work involves the development and support of online stock and futures trading applications in Electronic trading, Derivatives, etc. All our services run on Linux servers, so I need to work efficiently and quickly on the Linux machine, and that's how I have learned these productivity tips in Linux.

10 Tips to Improve Programming Skill and become a better Programmer

Many Java developers ask me how to become a better programmer? How do I improve my programming skills? Or I am good at Java but not so good on problem-solving ability etc. This is a reality, today's era is full of language expert than real programmers. It's easy to understand keywords, methods, and API of the Java programming language. Still, at the same time, it's challenging to solve practical problems, design reusable, and robust software and get the best of data structure and algorithm. I have often seen Java programmers are not doing so well when asked to design and code a solution in limited time, but at the same time, they are really good with Java concepts and all theory.

Top 10 IT Certifications for Java Developers in 2021

Hello guys, constant learning is part and parcel of being a programmer, and IT certification has a very important role in your career as an IT professional. There are many tangible and intangible benefits of certifications, first, they encourage you to learn more and become an expert in your fields, and second they provide recognition for your skill and knowledge. If you are a Java developer and wondering which IT certification you can do to take your career to the next level then you have come to the right place. In this article, I am going to share the best IT certifications for Java developers which include different areas like Java, Spring, Cloud, Linux, Project management, and others. You can choose the certification which aligns with your career goal.

Top 5 CompTIA Cloud+ Certification (CV0-002) Courses and Practices Tests in 2021 - Best of Lot

Hello guys, if you are preparing for the CompTIA Cloud+ (CV0-002) Certification exam and looking for the best online courses and practice tests to pass this exam then you have come to the right place. In the past, I have shared the best online courses to pass various CompTIA certifications like CompTIA A+, IT Fundamentals, Linux+, and Security+  exams and In this article, I am going to share the best CompTIA Cloud+ certification courses and practice tests to crack the CompTIA Cloud+ (CV0-002) Certification exam in 2021. These courses have been created by experts and trusted by thousands fo developer who has passed this in-demand exam and you can also join them to prepare better for this CompTIA certification. 

5 Projects You can do to learn iOS App Development

Hello guys, if you are learning iOS App development and looking for some project ideas to better learn the concepts and apply your existing knowledge then you have come to the right place. Earlier, I have shared the best iOS and Swift courses, and today, I am going to talk about 5 cool projects you can do to learn iOS app development and master several key concepts like UI, Core ML, Speech to ext, and other APIs. Since it's very common for people to get stuck while doing projects, I have also included guide courses, both free and paid which you can join to learn how to do these projects step by step. 

Does Udemy, Coursera, edX Course Certifications Helps in Job & Career?

While online courses provide an excellent platform for learning at low cost, at your schedule, and at your own pace, I often received questions from my readers about the worth of the certifications they offer. Many people asked me whether course completion certificates offered by Udemy, Coursera, edX, Educative, Udacity, or any such online platforms are worth any? The answer to this question is both Yes, and No because it totally depends upon what does worth mean for you?  If you are thinking that just completing a  Computer Science or Data Science course on Coursera and displaying a certificate on your resume or on LinkedIn will land you a Job than definitely, it's not worth it, but at the same time, these certifications can put your resume forward to many Recruiters looking for Data Scientist.

10 examples of grep command in UNIX and Linux

Hello guys, if you want to learn the grep command in Linux and looking for some awesome, hands-on, easy to use tutorial then you have come to the right place. Earlier, I have shared many examples based tutorials to learn essential Linux commands like find, lsof, curl, sed, and chmod command and in this article, I am going to share 10 examples of grep command in Linux. The grep command is one of the most frequently used UNIX command stands for "Global Regular Expression Print" along with find, chmod, and tar command in UNIX. grep command in Unix operating systems like Linux, Solaris, BSD, Ubuntu, or IBM AIX is used to search files for matching patterns.

10 Examples of cURL command in UNIX and Linux

Hello guys, if you want to learn about the cURL command and looking for an awesome, hands-on tutorial then you have come to the right place. Earlier, I have shared many examples based tutorials to learn many essential Linux commands find, grep, lsof, and chmod command and in this article, I am going to share 10 examples of curl command in Linux. The curl is one of the essential commands to send HTTP requests from UNIX and Linux operating systems. curl command is part of the cURL package and it's not just useful to send HTTP requests but also allows you to transfer files using FTP and send mail using SMTP.

How to add new columns to an existing table in SQL Server database

Hello guys, adding a new column to an existing table with data is always tricky and if you don't pay enough due diligence then you risk of corrupting or deleting existing data. You need to know what data is there, how much data is there, to gauge how long your query is gonna take to complete in production. Also, you cannot add NOT NULL columns into an existing table if they are not empty and you don't have a default value specified. If you know SQL then you probably know that you can add columns to an existing table in SQL Server using the ALTER command. It not only allows you to add a column but to drop columns as well.

Top 5 Courses to learn Appium for Testing Android Apps in 2021 - Best of Lot

Hello guys, if you want to learn the Appium tool for automation testing and looking for the best online courses then you have come to the right place. In the past, I have shared the best courses to learn Selenium and Android application development and in this article, I am going to share the best Appium courses for both beginners and experienced developers. These courses have been created by experts and trusted by many developers around the world and you can join them too to learn Appium from scratch as well as to improve your Appium skills if you are already using it without in-depth knowledge.

Database LEFT JOIN Example - How to Join Two Tables in a SQL query - 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 are selected which has 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 just changing the position of a table from left to right.

Udemy Courses vs Edureka vs LinkedIn Learning Review

Hello guys, if you are learning online and confused between different learning platforms like Udemy, Pluralsight, Edureka, LinkedIn Learning, Educative, etc then you have come to the right place. Earlier I have answered questions like Pluralsight vs. CodeCademy and Udemy vs. CodeCademy but never explained about Edureka vs. Udemy,  or LinkedIn Learning vs Udemy which many of my readers have been asking for a long time. Now, the wait is over as I will review Udemy, Edureka, and LinkedIn learning in this article. After going through the article, you will have enough information about strong areas of each platform and which online platform is suitable for your learning goals. 

Top 5 Courses to learn Tkinter and PyQT for Python GUI developers in 2021

Hello guys, if you want to learn Python for GUI development and looking for the best online courses to learn Tkinter and PyTQ, two of the most popular Python GUI development framework then you have come to the right place. Earlier, I have shared the free Python courses and today, I am going to talk about the best Tkinter and PyQT courses for GUI development using Python.  Two do not disagree that python has become nearly the most used programming language among the big companies and one of the most used fields is creating desktop applications.

Top 15 Java Multithreading, Concurrency Interview Questions Answers asked in Investment banks

Multi-threading and concurrency questions are an essential part of any Java interview. If you are going for any Java interview on any Investment bank like Barclays, Citibank, Morgan Stanley, etc for the Cash Equities Front Office Java Developer position, you can expect a lot of multi-threading interview questions on your way. Multi-threading and concurrency are favorite topics on Investment banking interviews,  especially on electronic trading development jobs and they grill candidate on many tricky java thread interview questions. They just want to ensure that the guy has a solid knowledge of multi-threading and concurrent programming in Java because most of them are in the business of performance which provides them a competitive advantage and it's hard to write correct and robust concurrent code.

Top 5 CompTIA IT Fundamentals (ITF+) Courses and Practice Tests in 2021 - Best of Lot

Hello guys, if you are preparing for the CompTIA IT Fundamentals certification exam and looking for the best online courses then you have come to the right place. n the past, I have shared the best online courses to pass CompTIA certifications like CompTIA A+, Cloud+, Linux+, and Security+  exams and In this article, I am going to share the best courses, practice tests to pass the CompTIA IT Fundamentals certification. This is one of the best certifications for people who want to start their career. You will not only learn key IT skills and computer science concepts but also gain certification to showcase your skills. 

Top 5 Reasons to Learn Firebase in 2021

While Firebase is around for quite some time, it really got traction in the last couple of years after the popularity of Google Cloud Platform increased, and several other Firebase services were introduced. If you are really React.js, Angular, Vue.js, or any other front-end development framework, you will benefit from Firebase. It provides an online, free database and several other useful services like FireStore, FireAuth, and Firebase Cloud function. Firebase is equally useful for Mobile developers as well as people using Swift, iOS, and Android to create mobile apps. They can also use Firebase services to create the backend for their application.

Top 5 Free Google Cloud Professional DevOps Engineer Certification Courses in 2021 - Best of Lot

Hello guys, If you are looking to learn DevOps on Google Cloud Platform, or preparing for Google Cloud Professional DevOps Engineer certification and looking for free online training courses then you have come to the right place. In the past, I have shared the best courses to learn Google Cloud Platform and the best DevOps courses for experienced developers and in this article, we are going to share 5 Free Courses to pass the GCP Professional Cloud DevOps Engineer exam. These free online courses will help you become a professional Cloud DevOps engineer of the Google cloud platform. 

How to Crack AWS Certified Developer Associate Exam in 2021 - DVA-001 Certification

Hello guys,  if you are preparing for AWS Developer Associate certification and looking for the best books, courses, and overall guidance to pass this exam then you have come to the right place. Earlier, I have shared the best AWS developer courses and practice tests, and today, I am going to share the overall guide and complete resources to pass this prestigious AWS cloud certification. There is no doubt that AWS certification is very valuable and opens the door for a lot of opportunities, not just for system admins and solution architect but also for developers and DevOps Engineers.

Top 5 CompTIA Server+ Certification Exam Courses and Practice Tests in 2021 - Best of Lot

Hello guys, If you are preparing for CompTIA Server+ certification and looking for the best online training courses and practice test then you have come to the right place. In the past, I have shared the best online courses to pass CompTIA certifications like CompTIA A+, Cloud+, and Security+  and In this article, I am going to share the best courses, practice tests, and exam simulator to prepare for this prestigious exam. These online courses have been created by experts and thousands of Server+ certification aspirants have joined this course. If you are also serious about passing the CompTIA Server+ exam on the first attempt, you should check out them and enroll in at least one course and one practice test for solid preparation.

Top 5 Courses to Crack CompTIA Pentest+ Certification Exam in 2021 - Best of Lot

Hello guys, If you are preparing for the CompTIA PenTest+ exam and looking for the best online courses and practice tests to boost your preparation then you have come to the right place. In the past, I have shared the best online courses to pass CompTIA certifications like CompTIA A+, Cloud+, and Security+  and In this article, I am going to share the best courses, practice tests, and exam simulator to prepare for the prestigious Pentest+ certification. If you want to become  Pen Tester then this is the exam you should target.

Top 5 Web Scrapping Tools in 2021 - Best of Lot

Hello guys, if you are looking for the best web scraping tools then you have come to the right place.  Earlier, I have shared the best web scrapping courses, and the best course to learn Scrappy, one of the powerful web scraping API for python developers, and in this article, I am going to share the top 5 web scrapping tools which you can use online. Web scraping or web harvesting or extracting web-data are the same terms, and it refers to scrapping or extracting specific data from the web like emails of the employees or users that registered or sometimes secrets files on that website and anything that you can imagine.

Top 5 Websites to Learn React for FREE - Best of Lot

Hello guys, if you want to learn Reactjs and looking for the best websites to learn React then you have come to the right place. Earlier, I have shared the 2020 React JS Developer RoadMap, and today, I am going to share the best websites to learn React for FREE. If you don't know,  React is a Javascript library and open-source created by the Facebook development team used for building the UI or user interface for the front-end website and make the interaction with your website so simple such as a single page application a mobile application and dynamic components like the search bar is a component.

How to find the 3rd (kth) Node from end or tail in a linked list in Java

Hello guys, the problem to find the 3rd element from the end in a singly linked list or Kth node from the tail is one of the tricky but frequently asked linked list problems in Programming job interviews. I know you can easily solve this problem by moving from tail to head or in the reverse direction but the main challenge here is to solve the problem in just one pass. That means, you can not traverse the linked list again and you cannot traverse backward because it's a singly linked list. So what do you think? Isn't this problem challenging? Well, I did struggle when I saw this problem very first time but once you understand the logic and some tricks to solve a linked list based problem like Recursion then it would be easy for you, and that's what you will learn in this article.

Top 5 Courses to learn jQuery in 2021 - Best of Lot

Hello folks, if you want to learn jQuery and looking for the best jQuery online courses and tutorials then you have come to the right place. In the past, I have shared the best jQuery books and some free jQuery courses and in this article, I am going to share the 5 best jQuery courses you can join online to learn jQuery in depth. jQuery is one of my personal favorites and a popular JavaScript library focused on making it easier to use JavaScript on websites. It has a lot of methods to simplify repetitive tasks that need a lot of lines and coding in JavaScript. You can call these methods with a single line of code and spend much less time. It has plugins for a lot of different tasks. If you want to learn jQuery then joining one of these courses can boost your learning. 

How to declare and initialize a List with values in Java (ArrayList/LinkedList) - Arrays.asList() Example

Hello guys, today, I am going to share with you a useful tip to initialize a List like ArrayList or LinkedList with values, which will help you a lot while writing unit tests and prototypes. Initializing a list while declaring is very convenient for quick use, but unfortunately, Java doesn't provide any programming constructs like the collection literals of Scala, but there is a trick which you can use to declare and initialize a List at the same time. This trick is also known as initializing a List with values. I have used this trick a lot while declaring list for unit testing and writing demo programs to understand an API etc and today I'll you'll also learn that.

Top 5 Courses to learn Amazon (AWS) QuickSight in 2021 - Best of Lot

Hello guys, If you want to learn AWS Quicksight and looking for the best online courses then you have come to the right place. Earlier, I have shared the best AWS courses and in-depth courses to learn essential AWS services like EC2 and DynamoDB and In this article, I am going to share the best online training courses and classes to learn AWS Quicksight in 2021. If you are working in AWS then you may have heard about the AWS Quicksight tool. The Amazon AWS Quicksight is a cloud-based fast business intelligence tool that can do analysis and make dashboards and graphs out of your data as well as the AWS resource that is used by your application so it combines them into one dashboard to get more insight of your data. 

Top 5 Books to Learn Core Java for Beginners - Best of Lot

Hello guys, I have shared a lot of books related to Java and related technologies in the past, like books and online courses to learn Spring, Hibernate, JVM internals Java Performance tuning, Multi-threading, and Concurrency, Design patterns, Data structure, and Algorithms, etc., but I haven't shared books for core Java books for beginners yet. Even though I have mentioned a couple of popular titles every now and then, I really didn't have a complete compilation of essential core Java books for beginners. Since Java is one of the most popular programming languages and very useful for getting a job as a Software developer, it has become a choice of programming language to start learning coding and application development, it makes sense to start well with core Java.