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

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.

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.

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.

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.

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?

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.

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.

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 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 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.

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.

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.

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. 

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 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.

Top 5 Hibernate Books for Java Developers - Best, Must read

Hibernate is one of the most popular, open-source ORM (Object Relational Mapping) framework, which has now become a standard for developing persistence layer on Java enterprise application, along with JPA (Java Persistence API). I often receive requests to suggest which book is best to learn to hibernate or recommendation about some good books and training courses on Spring and Hibernate. This motivates me to write this article about some of the best books on Hibernate currently available on the market.

How to setup JNDI Database Connection pool in Tomcat - Spring Tutorial Example

Setting the JNDI Database Connection pool in Spring and Tomcat is pretty easy. Tomcat server documentation gives enough information on how to set up a connection pool in Tomcat 5, 6, 7, 8, or 9. Here we will use Tomcat 7 along with the spring framework for creating a connection pool in the Tomcat server and accessing them in Spring using JNDI code. In our last article, we have seen how to set up a database connection pool in Spring for a core Java application that doesn't run on a web server or application server and doesn't have a managed Java EE container.

SQL Self Join Example - SQL Query to Find Employees Earning More Than Managers - LeetCode Solution

Hello guys, are you looking for a simple example of how to use SELF JOIN in SQL? If yes, then you have come to the right place. This article will show you how to use Self join in solving interesting SQL problems from LeetCode. Along the way, you will also learn this useful SQL concept. So, what are you waiting for? Let's first check the problem, and then we'll write an SQL query using SELF Join to solve this problem.

Write an SQL Query to Find Employees Earning More Than Managers
The Employee table holds all employees, including their managers. Every employee has an Id, and there is also a column for the manager Id, as shown below:

+----+-------+--------+-----------+
| Id | Name  | Salary | ManagerId |
+----+-------+--------+-----------+
| 1  | Joe   | 70000  | 3         |
| 2  | Henry | 80000  | 4         |
| 3  | Sam   | 60000  | NULL      |
| 4  | Max   | 90000  | NULL      |
+----+-------+--------+-----------+

Given the Employee table, write a SQL query that finds employees who earn more than their managers. For the above table, Joe is the only employee who earns more than his manager because Henry's Manager is Max, who earns 90000, which is more than Henry's salary of 80000.

Difference between row_number(), rank() and dense_rank() window functions in SQL

Though all three are ranking functions in SQL, also known as a window function in Microsoft SQL Server, the difference between rank(), dense_rank(), and row_number() comes when you have ties on ranking i.e. duplicate records. For example, if you are ranking employees by their salaries then what would be the rank of two employees of the same salaries? It depends on which ranking function you are using like row_number, rank, or dense_rank.

Top 6 Books to Learn and Master Programming and Coding - Must Read, Best of Lot

Coding is an integral part of Programming, and we all somehow learned to code by following examples here and there. Yes, I am talking about both self-taught programmer and Computer Science Graduates. You can learn Coding easily if you are dedicated, but what is more difficult is to write good code. You can easily find programmers in Java, C++, Ruby, or Python, but finding programmers, who are also a good coder is very difficult. Some universities have a good curriculum and practical classes to teach coding better than others, but most of these great coders are self-taught Programmers, who learned by reading books, joining online courses, and doing things on their own.

Top 5 Books to Learn Docker for Beginners - Best of Lot

Hello guys, if you are a developer or software engineer then you might have heard about Docker and containers. Being an author of a Java and Programming blog, I daily receive a lot of questions about Docker like what is Docker? what is Docker compose, which Docker commands should I learn, what is Docker Hub, How can I migrate my application to Docker and how can I deploy Docker container on AWS, Azure, and GCP. These are also some of the common doubts of programmers across the world. Let's start with What is Docker and why a Programmer should learn Docker in 2020? Simply speaking, Docker programming language makes project management and deployment seem easy.

Top 20 Spring Boot Interview Questions with Answers for Java Developers

Hello Java developers, there is no doubt that the Spring Boot is now the standard way to develop Java application using Spring Framework, and that's why Spring Boot Questions are increasingly becoming popular on Java interviews. In the past, I have shared many Spring MVC interview questions in this blog like the @RestController vs. @Controller, but I haven't got a chance to share any questions on Spring Boot, Spring Cloud, and Microservices. After a couple of personal requests from my readers, I thought to write about, and here comes my list of top 20 Spring Boot interview questions for Java developers.

What is the Use of DispatcherServlet in Spring MVC Framework?

If you have worked with Spring MVC then you should know what is a DispatcherServlet? It's actually the heart of Spring MVC, precisely the C of MVC design pattern or Controller. Every single web request which is supposed to be processed by Spring MVC goes through DispatcherServlet. In general, its an implementation of Front Controller Pattern which provides a single point of entry in your application. It handles all incoming requests. It is also the bridge between Java and Spring. Btw, the DispatcherServlet is like any other Servlet is declared in the web.xml with a URL pattern but the only special thing is that the URL pattern for dispatcher servlet is enough to map every single web request to DispathcherServlert.

How to Crack Spring Core Professional v5.0 Certification (VMware EDU-1202) - Latest Spring Certification for Java Programmers

Ever since Pivotal, the company behind the Spring framework made the mandatory Spring training optional (see here), I have received many queries from experienced Java developers who are interested in doing Spring certifications. This move from Pivotal has suddenly made the Spring certification affordable for many experienced Java and Spring developers who were interested in Spring certification earlier but couldn't progress further due to expensive mandatory training. Since many of them are now preparing for Spring certifications like Spring Core 5 or Spring Professional 5 (VMware EDU-1202) via self-study they are increasingly looking for good resources to prepare for the exam. I have received a lot of questions on preparation, books, mock exams, exam structure, passing marks, and useful resources.

How to dynamically create a div in jQuery? Example

Many times you need to create an HTML element and dynamically add that into DOM without reloading the page. The traditional way of doing this is by using JavaScript's innerHtml() function but jQuery provides better ways to achieve the same effect. You can use jQuery DOM manipulation methods like append(), appendTo() or html() to add new HTML elements like div, paragraph, headings, image into DOM without reloading the page again. In this tutorial, I will show you how to dynamically create a div and add that into a page by using pure jQuery.

How to Sort an HashMap by values in Java 8 - Example Tutorial

In the last article, I have shown you how to sort a Map in Java 8 by keys, and today, I'll teach you how to sort a Map by values using Java 8 features e.g. lambda expression, method reference, streams, and new methods added into the java.util.Comparator and Map.Entry classes. In order to sort any Map, like HashMap, Hashtable, LinkedHashMap, TreemMap, or even ConcurrentHashMap, you can first get a set of entries by using the entrySet() method and then you can get the stream by calling the stream() method. The entrySet()  method returns a Set which inherit the stream() method from the java.util.Collection class. Once you got the stream, you can just call the sorted() method which can sort all Map.Entry objects available in Stream using a Comparator.

Grokking Algorithms Review - Best Book to learn Data Structure and Algorithms in Python

Hello guys, I have read many books on data structures and algorithms like Introduction to Algorithms by Thomas H. Corman and Algorithm design manual by Steve S. Skiena, so when I come to know about this book, I thought, just another book on algorithms, but I was wrong. This is not just another book on algorithms but one of the most interesting books you will ever read on Algorithms and Data structure. It doesn't cover all the data structure and algorithms you see in Computer Science but whatever it covers, it does really well and that's what matters most for beginner programmer or Computer Science students.

Top 20 String Algorithm Questions from Coding Interviews

In this article, we are going to see the top 20 String based coding interview question and their solution to help programmers better prepare for interviews. The string is one of the most important data structures and available in almost every programming language like Java, C, C++, Python, Perl, and Ruby. Though there implement differ the essence remains the same like String is NULL terminated character array in C but String is an object in Java, again backed by character array. The string is also available on weekly typed languages like Python and Perl.  This is why you will always find some String based coding questions on programming interviews.

Strategy Design Pattern in Java using Enum - Tutorial Example

Hello guys, how are you doing? I hope you all are fine and doing good in your life and career. Today, I am going to talk about the Strategy pattern, one of the useful design and coding pattern which will help you to write flexible code. The code which can withstand the test of time in Production. I'll also teach you how you can use Enum to implement the Strategy design pattern and Open Closed design principle better in Java. I have said this before that Java Enum is very versatile and can do a lot more than you normally expect from it. We have seen a lot of examples of Enum in my earlier posts like writing thread-safe Singleton using Enum and 10 ways to use Enum in Java.

Top 5 Courses to Pass AWS Certified SysOps Administrator Associate Exam - SOA-C01

Hello guys, I have been talking about AWS certifications for quite some time now and in the past shared how to prepare for AWS Cloud Practitioner, AWS Developer Associate, and AWS Solution architect exam, and today I am going to talking about AWS Certified SysOps Administrator Associate exam. This is probably the hardest associate-level AWS certification and I strongly suggest you appear on this exam after getting AWS Developer and AWS solution Architect exam. Though this is not pre-requisite and if you are working as DevOps engineer, you can directly go for this certification to further boost your credentials, but doing this will improve your chances to pass this certification in very first attempt and save both your time and money. It will also help you to score high which can further boost your Resume.

Top 5 Books to Learn Concurrent Programming and Multithreading in Java - Best, Must Read

Books are essential to learning something new, and despite being in the electronic age, where books have lost some shine to the internet and blogs, I still read and recommend them to get complete and authoritative knowledge on any topic, like concurrent programming. In this article, I will share five best books to learn concurrent programming in Java. These books cover basics, starting from how to create and start a thread, parallel programming, concurrency design patterns, an advantage of concurrency and of course pitfalls, issues, and problems introduced due to multithreading. Learning concurrent programming is a difficult task, not even in Java but also in other languages like C++ or modern days JVM languages like Groovy, Scala, Closure, and JRuby.

How to avoid deadlock in Java?

How to avoid deadlock in Java? Is one of the popular Java interview question and flavor of the season for multi-threading, asked mostly at a senior level with lots of follow up questions. Even though the problem looks very basic but most of the Java developers get stuck once you start going deep. Interview questions start with, "What is a deadlock?" The answer is simple when two or more threads are waiting for each other to release the resource they need (lock) and get stuck for infinite time, the situation is called deadlock. It will only happen in the case of multitasking or multi-threading.

Top 5 Books and Courses to Crack Oracle's Java SE 11 Certification | OCAJP 11 1Z0-815 and OCPJP 11 1Z0-816, 1Z0-817

Hello guys, if you are preparing for the OCAJP 11 (1Z0-815)  or OCPJP 11 (1z0-816) exam and looking for some advice on preparation then you have come to the right place. The Java SE 11 Certification is one of the toughest of Java certification at the developer level. It's much harder than OCAJP 8, it's predecessor, and some of the programmers who have attempted it calling it even harder than the professional-level certification like OCPJP 8. In order to crack Java SE 11 certification, you need to prepare hard, but, at the same time, you also need to know which areas you should focus on. What topics should you spend more time on and which books and courses can help you to learn those essential topics?

Difference between @Component, @Service, @Controller, and @Repository in Spring

Before you learn the difference between @Component, @Service, @Controller, and @Repository annotations in the Spring framework, it's important to understand the role of @Component annotation in Spring. During the initial release of Spring, all beans are used to be declared in an XML file. For a large project, this quickly becomes a massive task, and Spring guys recognize the problem rather quickly. In later versions, they provide annotation-based dependency injection and Java-based configuration. From Spring 2.5 annotation-based dependency injection was introduced, which automatically scans and registers classes as Spring bean which is annotated using @Component annotation.

10 Reasons to become Oracle Certified Master - Java EE 6 Enterprise Architect - OCMJEA 6 (1Z0-807)

The Oracle Certified Master - Java EE 6 Enterprise Architect, which is a combination of three exams, 1Z0-807, 1Z0-865 and 866 is one of the toughest, hardest, and tiring Java certification you will ever give, but at the same time, it is also one of the most prestigious Java certification available in the Market. Large enterprise organizations (for example, Wall Street firms) with critical applications and environments are constantly in need of skilled architects. These companies are looking for well-trained and highly experienced specialists to architect their systems, define requirements, and oversee execution.

Top 5 Free AWS Solution Architect Associate Certification (SAA-C01) Practice Tests, Mock Exams, and Dumps

Hello guys, It seems everyone is over the cloud nowadays. Wherever I go people talk about Cloud computing and cloud platforms like AWS, Azure, Google Cloud, Digital Ocean, etc. And, there is no better way to learn cloud than preparing for certifications. I know so many people who are preparing for the AWS solution Architect exam for learning AWS and that's why I have started sharing my tips for learning AWS and passing the AWS solution architect certification exam. You might have noticed a couple of my posts related to AWS certifications like in the past I shared best online courses to crack AWS solution architect associate exam. But, I have said this multiple times that without practice tests and mock exams, your preparation for AWS certification be it solution architect or cloud developer is not complete.

Top 16 JMS (Java Messaging Service) Interview Questions and Answers

Java messaging Service or JMS interview questions is one of the important parts of any Core Java or J2EE interview as messaging is a key aspect of enterprise Java development. JMS is a popular open-source Messaging API and various vendors like Apache Active MQ, Websphere MQ, Sonic MQ provides an implementation of Java messaging API or JMS. Any Java messaging services or JMS interview can be divided into two parts where the first part focuses on fundamentals of JMS API and messaging concept like What is topic, What is Queue, publish-subscribe or point to point model, etc, While the second part is related to JMS experience with particular JMS provider.

Top 10 Advanced C++ (CPP) Books for Experienced Developers - Must Read

Once you know C++ and spends a couple of years of programming in C++, you started to feel that you know the basics and have good command over C++ programming. At this time, the programmer goes to two paths, one who chose to do just fire-fighting and daily work and never upgraded or forced to learn new or more by reading books, participating in forums, and giving presentations. The other group of programmers explores new books to learn C++ in detail and after reading a couple of books on this list, they also realize how much of C++ they know is incomplete and incorrect. That's why I recommend experienced C++ developers to read books to complete the journey from a junior developer to a senior developer.

Top 3 Books to Learn TCP/IP, UDP and Computer Networking Protocols - Best of Lot

Both TCP/IP and UDP are very popular networking protocol and in this era of the internet and a connected world, they become even more important. No matter, whether you are a computer science graduate or doing masters in computer science, a software engineer, a network engineer, or a Java programmer, good knowledge of TCP/IP and UDP goes a long way to securing a job and doing well on it. Even though I mostly interview for Java programmers, I almost always ask a couple of questions on TCP/IP and UDP protocol to check if the candidate is familiar with computer network basics or not because even if you work for Java application, you are exposed to the network.

Top 5 jQuery books for Beginners and Web developers - Best of lot

jQuery is an open-source JavaScript library, which has completely changed the way, client-side web development was done using HTML, CSS, and JavaScript. With the growing popularity of jQuery, it becomes imperative for web developers to learn and take advantage of jQuery, and books are one of the best ways to learn jQuery. In this article, I am going to share your top 5 jQuery books from my personal collection, which I have looked at and researched before purchasing my first book on jQuery, Head First JQuery. Since I like to follow one book at a time, I didn't bother to look into another must-read book, JQuery in Action, until I have finished formerly.

Top 5 Soft Skill and Career Development Books and Courses for Programmers

Most of the software developers, programmers, and coders spend a considerable amount of their time and energy on learning technologies which get obsolete in few years like a new framework or a new programming language but they neglect something more important like soft skills. Unlike technical stuff, soft skills will not only serve you good in your job and career but also in your life and it won't get obsolete as quickly as the new web application development framework you have just learned. Similarly, most of us put a lot of effort to get a job but after that, we don't put much effort to grow on that job, the result is many programmers and software developers stuck in their careers.

Top 10 Must Read Books for Experienced Programmers - Best of Lot

Hello guys, In this article, I am going to share books that I believe every experienced programmer should read to develop skills that are expected of an experienced programmer. As an experienced software developer, you should be a good coder, good at the understanding requirement, designing the system, communicating with peers and stakeholders, ensuring that your project has good test coverage, following good coding best practices and writing maintainable code. Those skills are quite valuable and just doesn't come when your experience increases, you need to work hard to acquire that. I know many programmers who have been programming for 7 or 8 years, but they still don't pose these skills. Some of them never bother to try, and some of them just don't know how to develop those skills. It's where these books come into the picture.

5 Must Read Books to become Software Architect or Solution Architect

I receive a lot of queries from senior Java developers, who aspire to become software architect or solution architect, like what can they do to become a software architect? Which books, resources, or certifications can help? And general queries like how much experience you need to become a software architect etc. In the past, I have been suggesting them individually about some books to read to expand their knowledge base and look at the software from architecture and design perspective, and this article is a compilation of many of such suggestions. Since a lot of books can confuse, I have only select 5 best and must-read books from the software architect's perspective.

Which Programming Books Would You Buy If you got 100$ to Spend?

Hello Guys, it's time to take a hypothetical question in Javarevisited. I love books and I have so many in my library and on my phone but this time, I am asking for your recommendations. Which programming book, would you love to buy, if you are given 100$ to spend? I know, when it comes to buying, people want the worth of their money, and that's why I am posting this question to you guys. Suppose you are looking for some books in a bookstore and suddenly salesman comes and say, at this particular minute, we are giving you 100$ FREE to buy any programming book.

Top 10 Advanced Java books for Intermediate and Experienced Developers

Hello guys, once you learn Java and done with reading some of the best known introductory books on Java and have a couple of years of experience under your belt, you would be hungry to transition from an intermediate Java developer to an expert Java programmer, also known as Java guru. This transition is not smooth, and I have seen many Java developers having 2 to 6 years of experience stuck where they are and have absolutely no knowledge of advanced topics like JVM internals, Concurrency, Garbage collection, and Performance tuning.

Top 5 Advanced SQL Books for Experienced Programmers - Best of lot, Must read

If you an experienced programmer and know how to write SQL queries and database fundamentals but want to take your SQL and database skills to the next level then you have a come to the right place. In this blog, I have shared a lot of free SQL books and courses you can use to start your SQL journey. This is also the second article about SQL books, In the first part, I have shared some of the best SQL books which are essential to learning SQL queries and fundamentals of database like normalization, indexing, and other design stuff, if you haven't read it yet, I suggest to do it now. You will find some amazing books to start learning SQL.

10 Books Every Java Programmer Should Read - Best of Lot, Must Read

If you are a Java programmer and wondering what to read to improve your knowledge of Java and become a better Java developer, then you have come to the right place. In this article, I am going to share some of the best Java books ever written. In fact, this is my list of all-time great Java books. They have withstood the test of time and emerges as more and more successful years after years. It doesn't matter if you read them this year or reading them next year, you are always going to learn a lot, and that's why I call them all-time great books.

Top 5 Books to Learn Groovy for Java Developers - Best Of Lot, Must Read

Groovy is a programming language that is specially created for Java developers with a view to being a fast-paced, scripting companion to Java. It aims to increase the productivity of Java developers by simplifying Java code and removing unnecessary boilerplate. Groovy not only present a succinct and easy to read syntax but also provide a much more elegant and convenient API than Java for common stuff. For example, a Groovy file can do in 50 lines what a Java source code does in 500 lines. You can declare an array as [] and map as [: ] which really makes code full of data without much syntax. Because of this property, Groovy is heavily used in unit testing of Java application. Some popular unit testing frameworks like Spock is also built on Groovy.

How to find all unchecked checkboxes from a page using jQuery? Example Tutorial

Hello guys, In the last tutorial, you have learned how to get all the checked checkboxes from a page using jQuery, but sometimes you also need all the checkboxes which are not selected. In this tutorial, you will learn that. If you remember, we have used the:checked pseudo selector to get all checked checkboxes, but, unfortunately, there is nothing like the :unchecked selector in jQuery, so using that will result in the syntax error. Even the!:checked or :!checked will not work, instead, you need to use not() jQuery selector, which does the negation job.

Top 5 Books to learn UML (Unified Modeling Language) for Java Developers - Best of Lot, Must Read

The UML stands for Unified Modelling language and it is one of the great tools for Object-oriented design. It allows you to create several diagrams like class diagram, sequence diagram, object diagram, etc, which helps you to understand your system better.  The UML also helps you to convey your thoughts and design to peers and team members before implementation. Since a picture is worth a thousand words, those interactions often help you to find shortcomings and loopholes in your software design very early. That's actually the reason I use UML in our projects. Btw, I didn't know about UML or UML diagrams when I first started Java development.

Top 5 FREE eBooks to Learn jQuery Online or download PDF

Hello guys, Everybody loves free resources, don't you? Well, I do and that's why I am always in search of good free resources like eBooks and training courses. In the last article, I have shared some of the free JavaScript books and this time I am sharing a couple of good free eBooks to learn jQuery. JQuery is one of the most important skills in today's internet world. It is the JavaScript library that has changed the face of websites, they are now more interactive and smooth than ever before. The Internet is also not short of free resources and when it comes to learning jQuery, you will find thousands of articles and tens of eBooks, but not all resources are good. Some of them are not up-to-date and many of them contain incorrect information, hence choosing a good resource is vital.

10 Things to Remember while doing Database Server Migration

Hello guys, recently, I have to work on a high profile project which involves migrating a live database from one server to another server as part of their data center exit program. This was one of the critical projects to pull off because we can't afford any mishap or data loss or production outage. There are a lot of things that I learned and would like to share with you guys. All these lessons not just apply to migrate databases like Microsoft SQL Server, Oracle, or MySQL database from one server to another but to any production process, you are migrating from another server. These are the things we learn from experience but as I have said in the past, you can only learn a few things

3 Books to Learn Eclipse IDE for Java JEE Programmers - Best of Lot

In order to become a good Java developer solid knowledge of Eclipse IDE, or whatever IDE you use, like Netbeans or IntelliJIDea, is a must. Java has been blessed with excellent tooling which turbo-charge application development. IDEs or Integrated Development Environment allows you to code, run, test, and debug from just one tool. They are an immense productivity booster. Since I have started Java development coding in Notepad, TextPad, and JCreator, I know how it feels to have the power of IDEs with you. There are three big IDEs in Java world, Eclipse, NetBeans and IntelliJIDEA. The first two are free, and the third one requires the license. I use Eclipse, and it's also the most popular IDE in Java world.

Top 2 Books for OCPJP8 Certification - Java 8 1Z0-809, 810, 813 Exam

This is the second part of the best books for Java 8 certifications. Since you need to pass two exams, OCAJP8 and OCPJP8, to become a Java SE 8 certified developer, I have shared some of the best OCAJP8 books in the last article. In this article, I will tell you more about the second exam, OCPJP8, and suggest the best books to prepare OCPJP8. This exam is known as a professional level exam, and it's more stringent than the associate level exam. The OCPJP8 stands for Oracle Certified Professional Java Programmer. The exam code for this certification is 1Z0-809.

[The AZ-303 Exam Preparation Guide] - How to Crack Microsoft Azure Solution Architect Certification Exam in 2022?

Hello guys, based on the new Azure role-based certification path, the Microsoft AZ-303 exam is the primary step towards becoming a Microsoft Certified Azure Solutions Architect. Earlier, I shared a few tips, courses, and practice tests to pass the AZ 104, AZ-900, or Microsoft Azure Fundamentals exam. Today, I'll talk about AZ-303 or Azure Solution Architect certification exam. This Exam requires experienced candidates with skills in Azure development, Azure administration, and DevOps. In addition, they must have expert-level skills in at least one of these areas. However, observing these requirements, some of you may think that it would be completely impossible to pass a Microsoft AZ-303 Architect Technologies exam preparation.

Top 5 Java SE 8 Certification Books - Best of Lot Must Read

Hello guys, If you are preparing for Oracle Certified Associate, Java SE 8 Programmer, also known as Java SE 8 Programmer I or OCAJP 8 exam and looking for some good resources then you have come to the right place. Earlier, I have shared some courses, and practice tests to pass the Java SE 8 certification. Actually, I have been sharing some of the most useful resources for Java 8 certification aspirants ever since the exam was launched. You can find a lot of this exam and essential resources in this blog. To continue that tradition, I am going to share some of the best books to crack the Java SE certification like OCAJP 8 (1Z0-808)  and OCPJP 8 (1Z0-89). Yes, you need to pass two exams to become Java 8 certified professional.

Clean Architecture by Robert C. Martin - Book Review - A Must Read Book to Become Software Architect

Hello Guys, today, I am very excited to talk about a nice book (Clean Architecture: A Craftsman's Guide to Software Structure and Design) from one of my favorite author of programming books, you guessed it right, Uncle Bob. The same Uncle Bob (aka Robert Martin) who brought you the Clean Code and Clean Coder has been at it again. It's been a long time since I last read an Uncle Bob and somehow I wasn't aware of this book. It comes to me as a surprise yesterday when one of the colleagues mentioned it and I didn't take time to realize that I need to buy and read this book. I just cursed myself that why I didn't know about this book before, it is still new but given I love to read his books, it's just a miss for me.

Top 5 Books to Learn SQL and Database Design for Programmers and DBAs - Best of Lot

The database design and modeling are one of those topics which rarely get the attention they deserve, especially at the start of the project, but once things have gone out of hand, then everybody talks about them. Comments like - this database is designed poorly, the schema is not performing well, you cannot add a new column easily, etc. becomes very common. The most problem with database design is that it is mainly done by application developers like Java or C++ developer who knows SQL, but they are not the expert on how to design tables and schema. The Database admins or DBAs know database and SQL better than application programmers, but they mostly focus on the admin part of the database, preferably on application part like designing tables and relations between them, which is left to the application developer.

Top 4 Books to learn Oracle PL/SQL Programming - Best, Must Read

In last summer, I had to work on a Java project which was using the Oracle database at their backend. The project was a mix of Java code with Oracle PL/SQL stored procedures, where Stored procedures were quite big and complex to read. I had not worked on Oracle for a couple of years and almost forget whatever I knew before. So, to revise, update and re-learn and I looked over some of the books and online courses like The Complete Oracle SQL Certification Course which helped me a lot. In my quest to revise and re-learn Oracle SQL, I also find lots of their used books on Oracle PL/SQL which are both interesting to read as well as provides a great wealth of information to any programmer.

Top 5 books to learn Agile and Scrum for Programmers - Best of lot, Must Read

When I started my career, it was all waterfall model. You try, fail, and then with every version you get an improved version of the software. I pretty much used to this model of software development until I was introduced to Agile development methodologies in my next company. I was confused about Agile as some people say its Scrum and Sprint, other ways its XP and Kanban, etc. The confusion lasted for a long time because I was afraid of asking questions (afraid of being perceived as dumb and someone who wastes time on meetings) and only getting information in bits and pieces and I wasn't good at searching books at that time. From that experience, I learned that, when you have confusion and want to learn more about new technology, nothing is better than a book or online training courses to start with.

Top 5 Books to Learn Unit testing, JUnit and TDD in Java - Best of Lot

Hello guys, If you done some professional Java development then you know that Unit testing is a very, very important thing to learn to adapt. I would say this is the single most practice in my book, which differentiates an excellent programmer with a professional programmer. It's one way you can see how disciplined a programmer is? It's also the best way to write clean code; a code that can stand the test of time, a code that is flexible enough to accommodate future changes and a code that you don't afraid of while changing. Despite several efforts of promoting unit testing by programming community and emphasizing unit testing by many notable programmers, it's still one of the lacking practice.

How to Crack Microsoft AZ-103 / AZ-104 Azure Administrator Associate Certification Exam

Hello guys, if you are looking for cloud certifications in 2021 then Microsoft Azure Cloud certification can be a great addition to your profile. Earlier, I have shared a few tips, courses, and practice tests to pass the AZ-900 or Microsoft Azure Fundamentals exam and today, I'll talk about AZ-103 or Microsoft Azure Administrator certification.  Microsoft launched two new certifications AZ-100 and AZ-101. These are the replacement of 70-535 for the new role-based Microsoft Azure Administrator Certification. On May 1, 2019, both AZ-100 and AZ-101 exams have been replaced by the AZ-103 exam.

10 Articles Every Web Developer Should Read

Hello guys, how are you doing? I am back again with my list of 10 articles everyone should read. In the past, I have shared 10 articles every programmer should read, which has was loved a lot by you guys, and many readers appreciated and says they benefited a lot from them. I can understand that becuase feeling of discovering a great article is similar to finding gold in a salt-mine. The intent is full of tutorials and resources, but not all of them are good, and with such huge numbers, it has become increasingly difficult to find good resources, or should I call the gem of articles, which everybody wants to read.

Top 20 Spring and REST Interview Questions Answers for Java/JEE Programmers

Hello guys, I have been sharing a lot of REST with Spring tutorials from last a couple of weeks and today, I am going to share some of the frequently asked Spring and REST interview questions to Java developers applying for Web developer roles. Since Spring Framework is the most popular and the standard framework for developing Java web application and RESTful Web Services, a good knowledge of Spring core and Spring MVC is expected from any senior Java developer, but if the job description mention about REST and Web Services, you also need to be aware of how to develop RESTful Web Services using Spring Framework.

How to reverse a linked list in Java using Recursion and Iteration (Loop) - Example

This is one of the class coding problems from Programming job interviews. It may seem easy to reverse a linked list but when you go around doing the actual task, it's not that easy, especially for first-timers. There are a couple of algorithms exists to reverse a singly linked list in Java, like you can use the three-pointers approach or solve this problem using a Stack, or simply using Recursion without the external stack. As I had pointed out in the earlier post about the linked list, that reversing a linked list is one of the most popular linked list-based data structure interview question. This means, you just can't afford to prepare this one, before going for any programming interview. Despite being so common, It's not easy to solve this problem on the fly.

Top 5 C++ Programming Books - Must Read, Best of Lot

Hello guys, I have started my programming career with C and C++ before learning Java, and it's been more than 11 years since I am using C++, though not as often as Java, which becomes my primary skill, my C++ knowledge has helped me to work on projects where both C++ and Java is used. Often time, I am rusty with C++ with very less coding, but whenever I have to refresh my knowledge, I have the right books to do so. I have used C++ on both professional and personal projects and mostly use a GCC compiler. If you ask me which one is tough to learn, C++ or Java? I would say C++? It's even difficult to master, and you cannot master it unless your coding C++ daily.

Top 5 Java And Android Game Programming Books for Programmers

Many programmers and game developers think that Java isn't the best language for game design, but you cannot ignore Java for game development. There is always some popular platform that allowed you to develop and sell games in Java, like J2ME in past and Android now. Ever since Android used Java as a programming language, the game development in Java has got a new lifeline and seems to be doing quite well. Even games like Minecraft also doing great on the Java platform. It's true that C++ is still the best language to develop games due to its high-performance and many top game development companies like Sony, Nintendo, and Microsoft Xbox prefer C++ over Java when it comes to developing great games. But with the introduction of Android and iOS has completely changed the game development industry.

5 Books to Learn Object Oriented Programming and Design Patterns - Best of lot

Knowledge of Object-oriented design principles and various OOP design patterns is a must for any experienced Java developer. It helps them to create robust code that can withstand test of time in production. As I have said earlier on 10 OOP and SOLID design principles, coding without knowing these principles is like trying to learn a language without knowing the alphabet. If you don't know alphabets, you will struggle with understanding the words and using them. Now the question is how can a Java developer learn these design principles and patterns? Which books and courses one should take to learn and master this essential skill for experienced Java developers? This is what I am going to answer in this post. I will share some of the best books and courses to learn Design patterns for Java and JEE developers.

2 Books to Prepare for Spring Professional Certifications (VMware EDU-1202) Exam

Ever since Pivotal (now VMware) has removed the requirement of mandatory training to become a certified Spring developer, many Spring developers have been asking for good resources to prepare for Spring Professional V5.0 Exam like books, courses, mock exams, study notes, etc. to prepare for Spring Core Certifications via self-study. Since, earlier, you cannot give Spring certification exam without attending an online or instructor-led core Spring training, which costs around 3200 USD in the USA and North America and 50K INR in India, many experienced Spring developers refrain from becoming a certified Spring developer.

How to Learn Java Programming from Scratch? Recommended Books, Courses, and Tips

I receive lots of emails and Facebook chats related to Java, but one of the most common questions which I have mostly asked is, which is the best book to learn Java? I have just started learning Java, Could you please recommend a good core Java book to me? After answering in one word too many of those readers and new Java developers as "Head First Java," I thought to write this blog post, Why? because some of them came back to me and asked me, "Can you please recommend a serious Java book, not the comics?" Well, I didn't like that comment, but then I thought it's natural that not everyone will find "Head First Java" as useful as I have always found.

5 Best books for OCAJP8 Exam 1Z0-808 - Java 8 Certification

It's been more than a couple of years since Java SE 8 was launched on 17th March 2014 and OCAJP 8 exam went live. You might know that in order to become a Java SE 8 certified developer you need to pass two examples, the OCAJP8 (Exam 1Z0-808) and OCPJP8 (Exam 1Z0-809). The first one is called associate-level certification and the second one is called professional-level certification. When OCAJP8 first comes, there were not enough good books to prepare this exam and many candidates rely heavily on Java 8 books, online courses, and professional exam simulators like Whizlabs and Enthuware, but if you are going to appear for the OCAJP8 exam now, there are no such problems. In this article, you will find some of the best books to prepare for the OCAJP8 exams.