HTML

Top 20 Hibernate Interview Questions for Java J2EE Programmers

Hibernate is one of the most popular persistent frameworks in the Java world. Hibernate offers an object to relational (ORM) solution which frees Java developers from writing tedious, hard to read and cluttered JDBC code converting SQL columns into Object properties. Apart from freeing Java developer from writing JDBC and database interaction code, Hibernate also offers the out-of-box solution on caching, proxying and lazy loading which drastically improves the performance of your Java Web application. Given it's important in Java Web application development field Hibernate has become of one of the most sought-after skill and goes hand in hand with Spring framework. That's why Spring and Hibernate interview questions are also very popular in Java interviews, particularly for web development positions.

What is the use of DispatcherServlet in Spring MVC? Interview Question

Hello guys, In today's article we are going to discuss one interesting and important Spring MVC concepts, which is also a popular Spring Interview question. How DispatcherServlet works internally in Spring MVC or What is the role of DispatcherServlet in Spring MVC is some of the frequently asked Spring MVC Interview Questions. You might have seen them already during your previous Java web development interviews but if you have not, it's a good question to know. In this article, I'll answer these questions by explaining What is DispatcherServlet and its importance in Spring MVC. The DispatcherServlet is one of the important components of the Spring MVC web framework and acts as a Front Controller.

5 Free Oracle and Microsoft SQL Server Online Courses

If you are an application developer e.g. someone developing a server-side application using Java or .NET or any other programming language which uses a database like Oracle and Microsoft SQL Server or a junior DBA then you must learn these database technologies to effectively work in your Job. Even though your organization might have DBAs or Database Administrators to help you with the database, more often than not, it's application developers who end up writing SQL scripts to create data, upload data, query data, and writing complex stored procedures and triggers to implement application functionalities. DBAs job mostly does database installation, access control, security, and other database admin stuff.

When and How to use the wait() and notify(), nofityAll() methods in Java? - Example Tutorial

When should you use the wait() and notify method in Java is one of the many popular questions about the wait and notify methods from Java multithreading interview questions. One of the reasons for its popularity is that still a lot of Java programmer struggle to explain and write code using wait-notify methods.  Many Java developer only knows some facts about the wait and notify methods like that wait() and notify() are defined in the java.lang.Object class or you cannot call wait() without synchronization, means without a synchronized block or synchronized method but doesn't really know when and how to use them.

Java 8 Stream findFirst() and filter() Example

Suppose, you have a list of prime numbers and you need to find the first prime number which is greater than a given number? How do you find it? Don't tell that you will loop through the list and check each element and return the first element which is greater than the given number. Well, that's right but that's not what you should do in Java 8. That's good for Java 7 or earlier version but Java 8 offers you many better alternatives and one of them is Stream. You can use the Stream class along with filter() and findFirst() methods to find out an element based upon a Predicate, a functional interface for defining a condition which returns a boolean.

3 Books and Courses to Learn RESTful Web Services using Spring and Java

Hello guys, if you know Spring framework then there is a good chance that you have heard about the classic Spring in Action book by Craig Walls. It's one of the best books to learn Spring and many Java developers, including me, has learned Spring from that. But, even though the Spring in Action 5th Edition is one of the best books to learn Spring framework, it's just not enough to learn intricacies of developing a modern, full-featured RESTful Web Service using Spring Framework. It does have a chapter on developing RESTful Web Services and nicely explains concepts like @RestController, @ResponseBody, @ResponseStatus, HTTP message converters, content negotiation but that barely touch the surface of developing a production quality RESTFul Web Service.

10 Essential JVM Options for a Java Production System

Hello guys, this is a brief guide of important JVM options which you will often see in production Java systems. As a Java developer, you should know what these JVM options means, their importance, and how they affect your application. You will find that most of the JVM options are related to heap memory, garbage collection and to log some details e.g. heap dump, necessary for troubleshooting heap related issues like a memory leak or excessive memory consumption. It's Ok if you don't know these Java virtual machine options yet but you should be familiar with them and that's the objective of this article. Btw, how do you find the JVM options your application is using? Well, you can see the startup scripts through which your application is started.

Top 5 Free C++ Courses to Learn Programming Online - Best of Lot

C++ is one of the most popular and powerful object-oriented programming languages and if you want to do low-level stuff then it's the best language to start with. Most of the complex software e.g. Operating Systems, Database Management Systems, and Powerful trading systems are written in C++. While many of us have learned to program by using C and C++, let me honest with you learning C++ is challenging. There are many areas which are tough to grasp e.g. points but you will learn them slowly and that's where these free C++ course will help you.

ContextLoaderListener in Spring MVC - 10 Things Java Programmer Should Know

The ContextLoaderListner is one of the important components of the Spring MVC framework, probably the most important after DispatcherServlet itself. It is used to create root context and responsible for loading beans which are shared by multiple DispatcherServlet like beans related to the service layer and data access layer. In general, When you develop Spring MVC based web application and also using Spring in the services layer, you need to provide two application-contexts. The first one is configured using ContextLoaderListener and the other is configured using DispatcherServlet. The DispatcherServlet is responsible for loading web component specific beans like controllers, view resolvers and handler mappings while as I said before, ContextLoaderListener is responsible for loading middle-tier and data-tier beans which forms the back end of Spring applications.

10 Tools Java Developers Should Learn in 2019

We are just a week away to 2019 and many programmers have already started making a good process to their goals for 2019, which is very good, but if you are someone, who is still not sure what to learn in 2019 then you have come to the right place. In past, I have shared 10 things Java developers to learn in 2019 and last week I published top 5 Java Frameworks to learn, but there is one topic which kept coming from my readers.  The question which I have received this week a couple of times form my fellow Java developers and readers is which tools Java programmers should learn in 2019? or what are some good Java tools used in application development? and finally, what should I learn in 2019? I have been answering this question by writing blog posts e.g. 10 Testing Tools Java developers should learn in 2019 and in this article, I am going to share some of the best Java tools you can learn in 2019.

Decorator Design Pattern in Java with Example

The Decorator design Pattern is one of the famous Gang of Four (GOF) structural design pattern, which provides a dynamic way of extending an object's functionality. It's different than the traditional way of adding new functionality into an object using Inheritance, instead, it uses Composition which makes it flexible and allows to add new functionalities at the run time, as opposite to Inheritance, which adds new functionality at compile time. Because of this flexibility, Decorator is one of the darling patterns for many Java developer. Btw, like many others object-oriented design patterns, the decorator design pattern is introduced by the famous Gang of Four design pattern book, almost 2 decades ago. This means it's a time-tested way of adding new functionalities into an object.

30+ Spring MVC Framework Interview Questions Answers for Java/JEE Developers

Spring Interview Questions Answers 
Spring Interview Question is one of the first things Java programmer should prepare before appearing on any Java or Spring interview. With the immense popularity of Spring frameworks like Spring MVC and Spring Boot in Java world, focus on Spring skills on interviews are increasing day by day. For those who don't know, the Spring framework is one of the most popular frameworks for Java applications, which aims to simplify Java development. It revolutionized the Java development when it initially came with concepts of  Dependency Injection and Inversion of Control, which made writing testable and maintainable Java application

Top 10 Algorithm books Every Programmer Should Read

Algorithms are language agnostic and any programmer worth their salt should be able to convert them to code in their programming language of choice. Unfortunately, I have come across several programmers who are REALLY good on programming languages like Java or Python like knows minor details of API and language intricacies but has very poor knowledge of fundamentals Algorithms and Data Structure. Just ask them to implement any popular sorting algorithms like quicksort or merge sort and they will fall apart. If you expect them to know more advanced and complex algorithms like String processing algorithms, graph algorithms, tree traversal or greedy algorithms, be ready to check on Interviews, otherwise, you might end up with some surprises.

How to Read a CSV file with Header in Java using Jackson with Example

Hello guys, today I am going to show you how to read a CSV file in Java with a simple example of Jackson API. For a long time, I only knew that Jackson can be used to parse JSON but later realized that you can also use it to parse or read CSV file in Java. The Jackson DataFormat CSV library allows you to read a CSV file in just a couple of line and its really powerful and feature rich. For example, you can read a CSV file with a header or without a header. You can even read a tab-delimited text file like CSV. It's also highly configurable and allows you to define columns separator to read a text file with any delimiter. You can even use it to directly convert the CSV data into Java objects, just like we do while reading JSON String in Java.

Top 35 Java String Interview Questions with Answers

The  String class and concept is a very important class in Java. There is not a single Java program out there which is not using String objects and that's why it's very important from interview point of view as well. In this article, I am going to share 35 String based questions from different Java interviews. It includes questions on java.lang.String class as well as a string as data structure e.g. some coding questions something like I have shared in my earlier article about 75 Coding questions to Crack any Programming Job interviews.  You can use this list to refresh your knowledge about String in Java as well as to prepare for your next Java interview. If you have any good String questions which are not on this list, feel free to drop a note and I'll include in this list.

5 Free Object-Oriented Programming Online Courses for Programmers

The OOP or Object Oriented Programming is a paradigm which allows you to write a program by modeling real-world things in terms of class and object. It not only make to represent a real-world thing in the programming world easier but also allow you to manage the complexity of your program. Even though there are several programming paradigms e.g. procedural and functional, most of the code we write today is object-oriented and some of the most of popular programming languages are object-oriented e.g. Java, Python, PHP, and JavaScript all supported object-oriented programming.

10 Example of LocalDate, LocalTime, and LocalDateTime in Java 8

It's been almost 5 years since Java SE 8 was released on 17th March 2014 and Java 8 adoption has come a long way. Java programmers around the world have accepted with both ends, many companies have switched their development on Java 8 and several others are migrating to Java 8 platform. At this time, its extremely important for a Java developer to learn and share his Java 8 skill and that just not include lambdas, stream, method reference, functional interface, and other more glamorous stuff, you also need to learn the new Date and time API, which you would find using more regularly in your day to day life.

5 Free Docker Courses for Java and DevOps Engineers

If you are an application developer working in Java or C# or any other language and wants to become a DevOps engineer or someone who wants to learn Docker then you have come to the right place. In this article, I am going to share some of the free Docker courses you can use take online to learn Docker by yourself. These courses are great for both beginners and intermediate developers who have basic ideas about Docker. If you don't know what is a Docker and how it works then let me give you a brief introduction. Before starting just look at the Docker's logo which is a whale carrying containers, does that strike something? Well, if you add this image with the name Docker you might think about shipping companies, which carry containers from one part of the world to another.

How to Convert Hostname to IP Address in Java - InetAddress Example

Hello guys, today, I am going to teach you about one interesting class from java.net package, the InetAddress. If you have never used this class before, let me tell you that it's an abstraction to represent an Internet address and it encapsulates both hostname and IP address. Since converting an IP address to hostname or hostname to IP address is a very common requirement, Java developer should know about this class, and, in general about java.net package, which contains much other useful class for networking and client-server applications. So, what is the best way to learn new APIs like java.net? Well, by writing small programs like this, which has a small focus and let you explore things. They are super useful and that's how I have learned the majority of Java API.

12 Must Read Advance Java Books for Intermediate Programmers - Part 1

I often receive loads of email about Java books and courses recommendations, something like, I have 2 years of experience in Java and Spring, which Java books should I read to become an expert Java programmer, or I have 5 years of experience in core Java and want to become a Java expert, which books or courses should I refer? These are just some of the examples but most of the requests are like that. It's interesting that most of the email I receive is not from beginners, I mean those who want to learn Java from scratch, but, from Java developers who have 2 to 3 years of experience. I call them Intermediate Java programmers because they are in the state of their career where they know how to program in Java but they are not expert yet.

Top 5 Courses to learn Git and Github for Beginners - Best of Lot

There is no doubt that Git and Github have become standard source control and code repository for software developers. There was a time when multiple version control rules the world like CVS, SVN, VSS, Mercury, and TFS but slowly and for better, everything has converged to Git. Now, almost 70 to 80% programmer uses Git for version control and Github repository, both public and private for storing their source codes.  When it comes to using a source control tool like SVN or CVS, most of the programmers use them using IDE and they are hardly familiar with the command line. This is particularly true for old source control software like SVN and CVS but Git & Github has changed that culture a bit.

How to Find the Largest and Smallest of Three Numbers in Java

Hello guys, today, I am going to share with you another interesting coding problem for beginners, how to find the largest and smallest of three numbers. If you are learning how to program or looking to improve your problem-solving and coding skill then these kind of small problems are good to start with. They not only provide you an opportunity to think how to solve a problem using basic programming constructs like conditionals (if, else, if-else, switch), loops (for, while, do-while), operators like arithmetic, bitwise and logical operator as well as teach you how to write functions, class and create a program which you can run.

10 Top Programming Languages of 2019 By Salaries

Since last a couple of the week, I have been doing some research about what to learn in 2019 when I stumbled about StackOverflow's Developer Survey. It's one of the best surveys for software developers, which provides useful insights about programming and IT world. One of the things I really like about this survey was its several lists like the list of top 10 programming languages and the most loved frameworks by programmers, but the one I found most useful was the list of top paying technologies. This is a great list and allow you to choose what you can learn in 2019 to go to the next level in your career in terms of both financial and career growth.

Top 10 Java 9 Tutorials and Courses - Best of Lot Must Read

It's been more than a year or so since JDK 9 was launched and the new year is probably the best time to learn Java 9 and get yourself familiar with new features and enhancements on existing APIs. The highlight of JDK 9 release was Project Jigsaw or Module system. The Java 9 Platform Module System allows Java to move forward by modularizing the JDK as well as adding modules as first-class citizens to Java, but that's not the only thing to look forward, there are many small changes which are very useful in day-to-day coding. For me the static factory methods introduced in List, Set, and Map to create a immutable list, set and the map is the most interesting one. Along with several changes on Stream API and Optional class. Those are the ones, I will most likely to use as soon as we start with JDK 9.

Top 21 Java HashMap Interview Questions and Answers

The java.util.HashMap is one of the workhorses of JDK. Along with ArrayList, it is one of the most used classes from Java's collection framework. There is hardly a real-world Java project, where I haven't seen the use of HashMap. It is an implementation of hash table data structure and it's not a surprise that HashMap is so useful, as someone has rightly said, "if you could have just one data structure, make it a hash table". The hash table data structure allows you to search for a value in O(1) time if you have key. In Java, there are several implementations of hash table data structure exists like Hashtable, ConcurrentHashMap, LinkedHashMap, etc but HashMap is your general purpose map.

Java CountDownLatch Example - Multithreading and Concurrency Tutorial for Beginners

The CountDownLatch is an important concurrency utility class which was added in JDK 1.5 but unfortunately, many Java developers still struggle to understand and use this powerful tool. You can use CountDownLatch if you are spawning multiple threads to do different jobs and want to know when exactly all tasks are finished so that you can move to the next stage. In other words, you can block a thread until other threads complete their task. One of the good examples where you can use CountDownLatch is an application which downloads data from a database or another application. For example, we are creating a Java program to download all Udemy courses. Since Udemy has thousands of courses, you create different threads to download different categories e.g. technology, development, etc.

5 Free Courses to Learn C# Programming Online - Best of Lot

Many people underestimate the power of C# and never think highly of it when they talk about programming languages, but the truth is that C# is one of the popular programming languages of today's world, just behind JavaScript, SQL, and Java on StackOverFlow's Developer Survey for last a couple of years. There are a lot of jobs and opportunity available for experienced C# developers. It's one of the important languages for developers working with Microsoft technologies like Windows and SQL Server. It is also one of the most popular programming languages for developing desktop GUI, surpassing Java Swing completely in last a couple of years. I have seen many big investment banks switched from Swing to C# for their GUI development work.

A Beginners Guide to Array in Java

Without any doubt, the array is one of the most used data structure in all programming languages, including Java. Pick up any programming language be it functional, object-oriented, imperative or even scripting languages like Python, Bash, and Perl, you will always find array. That's why it's important for any programmer to have a good understanding of the array data structure. Like any other data structure, the array also provides a way to organize and store objects, but the way it does makes all the difference. An array is used to store elements in the contiguous memory location and many C, C++ programmer can take advantage of a pointer to work with an array.

Why wait() and notify() method should be called inside a loop in Java?

If you have used wait() and notify() method in Java then you know that the standard idiom of calling wait() method uses a loop, but have you ever thought why? This is even advised by none other than Joshua Bloch, a Java guru and author of popular Effective Java book, must read for any Java programmer. When I first started using this method, I was puzzled why not just use the if block because ultimately we are testing for a condition and then either waiting or going for further processing. An if block is more readable for the testing condition than a while loop like for the classic producer-consumer problem, the waiting condition for producer thread could be written as :

5 Free DevOps Courses to Learn Jenkins, Docker, and Kubernetes for Programmers

Hello guys, you might have heard about DevOps and all the attention it is getting now. The DevOps is a new phenomenon and there is a mad race among senior developers to become a DevOps engineer. Well, I am not one of them as my passion is for becoming a software architect but I have certainly spent some time learning DevOps just to increase my knowledge of the field as I strongly believe in the phrase, jack of all and master of one :-). In DevOps world, tools matters a lot and whole of the DevOps phenomenon to create an automated pipeline for delivering a quality software heavily relies on cleaver uses of tools like Maven, Jenkins, Docker, Kubernetes, and others.

How to Check if a Key Object Exists in HashMap Java? containsKey() Example

Hello guys, you might know that one of the common programming tasks while using HashMap in Java is to check if a given key exists in the map or not. This is supposed to be easy, right? Yes, it is easy if you know your API well, all you need to is call the containsKey() method, it returns true if given key exists in HashMap, otherwise false; but I have seen many programmers write code like below which is not correct, which inspired me to write this blog post.

if(map.get(key) !=  null){
    System.out.println("key exits in Map");
}

This code is fragile, it will not work if you have added null values into HashMap because HashMap does allow null values.

5 Free Linux Courses for Programmers and IT Professionals to Learn Online

Linux is one of the most popular operating systems to run server-side applications. I have seen almost all Java applications running on Linux barring a couple of them which runs on Windows as service. If you take out standalone apps like IDEs or tools, most of the real world Java applications run on Linux e.g. payment gateways, trading systems, and other financial applications. That's why it's very important for any programmer, IT professional, or a developer to learn and understand Linux, both operating system, as well as command line.

Top 10 REST API and RESTful Web Services Book for Java Web Developers

In recent years, REST has become the standard style for developing web services, also known as RESTful Web Services. These web services take advantage of REST principles, which leverages all goodness of HTTP to provide scalable and robust web services. As a Java Web developer, it's high time that you get familiar with the REST concepts and the REST style of developing web services in Java, also known as RESTful web services and nothing is better than to start with a good book. I often receive a request about which book should I read to learn REST? or what are some best books to learn to develop RESTful Web services in Java etc? In this article, I will suggest some books which will teach you both designing a REST API and developing RESTful web services in Java.

How to implement Radix Sort in Java - Algorithm Example

The Radix sort, like counting sort and bucket sort, is an integer based algorithm (I mean the values of the input array are assumed to be integers). Hence radix sort is among the fastest sorting algorithms around, in theory. It is also one of the few O(n) or linear time sorting algorithm along with the Bucket and Counting sort. The particular distinction for radix sort is that it creates a bucket for each cipher (i.e. digit); as such, similar to bucket sort, each bucket in radix sort must be a growable list that may admit different keys.

Top 10 Data Science and Machine Learning Certification Courses to Learn Online - Best of Lot

If you work in the technology field today like you are a programmer or software engineer then I am sure you have heard about terms like Data Science, Machine Learning, Deep Learning, Artificial Intelligence etc. They are the latest technologies which are impacting every single sector just like IT does it when it comes the first time. It doesn't matter if you are working for a bank or insurance sector, airspace or defense, all fields were impacted by IT and in near future, they will be impacted by machine learning and artificial intelligence. If you are wondering, let me give you a brief overview. Machine learning is all about training machines to do the job which was only possible by humans before, for example seeing a photo and recognizing what is the object like a car, a human or a cucumber.

How to Convert/Print Array as String in Java with Example

Array and String are very closely related, not just because String is a character array in most of the programming language but also with popularity - they are two of the most important data structure for programmers. Many times we need to convert an array to String or create an array from String, but unfortunately, there is no direct way of doing this in Java. Though you can convert an array to String by simply calling their toString() method, you will not get any meaningful value.  If you convert an Integer array to String, you will get something like I@4fee225 due to the default implementation of toString() method from the java.lang.Object class. Here, I show the type of the array and content after @ is hash code value in hexadecimal.

How to convert Stream to List, Set, Map, and ConcurrentHashMap in Java 8 - Learn with Examples

In Java 8, Stream is one of the most important class as it allows a lot of useful functional operations e.g. filter, map, flatmap, etc on a collection of object. Hence, going forward converting a Collection to Stream, performing operations and then converting the result back to different Collection classes like List, Set, and Map will be a common task. The first problem of converting Stream to Collection is solved by Java designer by directly adding a stream() method on Collection interface, which means all other interfaces and classes which derived from Stream also have this method. Though the second problem of converting a Stream to List, Set, and Map requires some understanding of Stream API of JDK 8 and that's what you will learn in this article.

Top 5 Free Course to Learn CSS BootStrap Framework Online - Best of Lot

Bootstrap is one of the most popular front-end libraries which provides a customizable template of HTML, CSS, and JS for creating a modern and responsive website. All the nice website you see these days with large fonts and slick form fields are built using Bootstrap. If you want to learn Bootstrap and looking for some good online courses then you have come to the right place. In this article, I am going to share some of the awesome Bootstrap courses which are also free and you can use them to kick-start your journey with the Bootstrap framework. If you are interested in modern web development this is the framework you must learn this year.

Top 25 Java Date, Time and Calendar Interview Questions Answers

The Date and Time API is a very important one for day to day Java development work but many interviewers don't ask enough questions on this topic. Most of the questions are based on either Java Collection framework like  HashMap, ConcurrentHashMap, or ArrayList or on multi-threading concepts like volatile, synchronized and atomic variables. This is not good and I think many interviewers have realized that a good understanding of date and time API is also important for a good Java developer. That's the main reason for an increasing number of date, time and calendar based Java interview questions in recent time, particularly in last a couple of years.

How to use flatMap() in Java 8 - Stream Example Tutorial

In order to understand the flatMap() method, you first need to understand the map() function of Java 8. The map() function is declared in  the java.util.stream.Stream class and uses to transform one Stream into another, for example, it can convert a stream of integer numbers into another stream of ints where each element is the square of the corresponding element in the source stream. In the map() operation, a function is applied to each element of the source Stream and return values are inserted into a new Stream which is returned to the caller. The key point to note here is that the function used by map() operation returns a single value.

Top 5 Spring Security Online Training Courses for Java Developers

Security is one of the most important aspects of a modern web application, be it a Java web application, .NET or writing using any other web technology. In the Java world, Spring Security rule the security space. It's one of the rare frameworks which provided many security features e.g. authentication, authorization, session management, remember me and several other useful features out-of-the-box. Since there was no competition to Spring security and it does its job very well, it soon becomes the de-facto standard for implementing security in both Java web applications, REST APIs and core Java applications. The rise of the Spring framework certainly helps it to cement its place as well.

Top 20 Essential Java Interview Questions with Answers for Freshers with 1 to 2 years Experienced

If you are grad looking for an internship position in a company which uses Java, or a fresher, just out from college and looking out for Java development position, then this post is for you. I have attended, taken and participated in a different level of Java interviews, and I can say there is a huge difference between them, which is not surprising because you obviously want to ask different level questions based upon whether the candidate is fresher or experienced. Similarly, the question at phone interview, written test, and face to face interviews, keeping this in mind, and give you always have a limited amount of time before going for an interview, It's important to prepare right set of questions.

5 Free Apache Spark Course for Java, Scala, and Python Programmers to learn Online

Hello guys, if you are thinking to learn Apache Spark to start your Big Data journey and looking for some awesome free resources e.g. books, tutorials, and courses then you have come to the right place. In this article, I am going to share some of the best, free online Apache Spark courses for Java, Scala, and Python developers. If you don't know what is Apache Spark? and Why it's so important in the Big Data world then let me give you a brief overview first. Apache Spark is another cluster computing framework like Hadoop which is used to analyze a huge data set, but it's much faster as compared to Hadoop which makes it ideal for today's high computing needs e.g. processing huge amount of data.

Top 10 SQL and UNIX Interview Questions for Programmers

The SQL and UNIX are two of the most essential skills for any programmer. It doesn't matter whether you are applying for the job as Java developer or C++ developer, Python developer or Ruby programmer, SQL and UNIX always have some role to play in your job. It's even important for people who have less to do with programming like application support guys, business analysts, project managers, and subject matter experts.  Hence, it's imperative for any programmer or IT professional to prepare both SQL and UNIX well before going for any job interview. This becomes even more important if you are going for a support engineer role, rather for a development role because than the importance of SQL, Database, and Linux skill increases as compared to programming language you know.

Top 10 Java 8 Tutorials and Courses - Best of Lot, Must Read

It's almost six months since Java 8 was released and there are so many Java 8 tutorials are written by Oracle, bloggers, and other peoples, but which should you read? Which tutorials are worth of your time? Actually, this question is asked to me by one of my reader called John, he was asking me about some good Java 8 tutorials, which he can read to start with. This encouraged me to take a look at some of the Java 8 tutorials available on the internet and form a list of best. I have just used three criterion, content, language and length. Because tutorials complement books, they should not be like the book. They should be small enough to complete in few hours and complete enough to give useful information. I also like tutorials, which discusses practical problems and examples.

Merge Sort in Java - Algorithm Example and Tutorial

The merge sort algorithm is a divide and conquers algorithm. In the divide and conquer paradigm, a problem is broken into smaller problems where each small problem still retains all the properties of the larger problem -- except its size. To solve the original problem, each piece is solved individually; then the pieces are merged back together. For example, imagine you have to sort an array of 200 elements using the bubble sort algorithm. Since selection sort takes O(n^2) time, it would take about 40,000-time units to sort the array. Now imagine splitting the array into ten equal pieces and sorting each piece individually still using selection sort. Now it would take 400-time units to sort each piece; for a grand total of 10*400 = 4000.

Top 5 Free Core Spring, Spring MVC, and Spring Boot Courses for Beginners to learn Online

I have been sharing a lot of resources e.g. books and courses recently and when I published my list of Top 5 courses to learn Spring and Hibernate, many of my readers asked about a similar list of free courses to learn Spring Framework like Core Spring, Spring MVC, Spring Security, and Spring Boot. That request was always back of my mind but I couldn't get time to put together a list, which I can share with you guys, but today is the day. In this list, I have compiled some of the best online free courses to learn Spring Framework from scratch, online at your own pace. You can not only learn core Spring like the framework which provides dependency injection, but also Spring MVC, the most important framework for a Java Web Developer, Spring Security, and Spring Boot to take your career to next level.

Counting Sort in Java - Example

The Counting sort algorithm, like Radix sort and Bucket sort, is an integer based algorithm (i.e. the values of the input array are assumed to be integers), non-comparison and linear sorting algorithm. Hence counting sort is among the fastest sorting algorithms around, in theory. It is also one of the few linear sorting algorithms or O(n) sorting algorithm. It's quite common in Java interviews nowadays to ask, whether do you know any O(n) sorting algorithm or not. If you face this question in future, you can mention Radix sort, Bucket sort, or Counting sort algorithms.  How does the counting sort algorithm works? Well, counting sort creates a bucket for each value and keep a counter in each bucket. Then each time a value is encountered in the input collection,  the appropriate counter is incremented.

7 Linux cURL command Examples for Testing RESTful Web Services from Command Line

The curl or cURL command of Linux is a very powerful and versatile command which allows you to send sophisticated HTTP request right from your Linux command line window. You can use the cURL command to test your RESTful Web Services by sending GET and POST request, doing authentication, saving a cookie in the file etc. The curl command is, in fact, the go-to tool for many Java and Spring developers working in web application and consuming data from the secured RESTful Web Services, but you can also use it test your simple REST Web APIs without security. I have used it many times to check if our Web service is up or not, or is there any error while accessing those services.

Top 10 Java 8 Stream and Functional Programming Interview Questions Answers

The JDK 8 release has changed the way we write Java. With new functional programming idioms and a powerful Stream API, most of the new Java code is written in functional style. This also means that Stream and Functional programming related questions are increasing on Java interviews. If you are not familiar with Java 8 changes then it's difficult to crack a Java interview nowadays. Though it's not stated anywhere most of the companies, particularly Investment banks like Barclays, Citi, and Goldman Sachs now expect Java developers to know at least Java 8, which is also good right? Java 11 is already out and we are looking forward to Java 12 in a couple of months, it makes sense to know at least Java 8 changes.

Top 5 Free Big Data Courses to learn Hadoop, Spark Online - Best of Lot

If you want to learn Big Data technologies in 2019 like Hadoop, Apache Spark, and Apache Kafka and you are looking for some free resources e.g. books, courses, and tutorials then you have come to the right place. In this article, I am going to share some of the best free online courses to learn Hadoop and Spark from Udemy and Pluarlsight at your own pace. I personally like to start with FREE resources before I have enough knowledge to choose the right book or enroll in a little expensive course. It's also my passion to surf web to find great free resources and share with you guys.

Top 75 Programming Interview Questions Answers to Crack Any Coding Job Interview

Hello guys, if you are preparing for your next Programming Job interview and looking for some frequently asked Coding or Programming questions to practice then you have come to the right place. In this article, I am going to share some of the most commonly asked Coding questions from Programming Job interviews. In order to do well on the Coding interview you need practice, you just can't go there and try to solve the coding problems in limited time, that's actually one of the most common reasons to fail your programming Job interviews.  Sometimes, the interviewer also asks little bit easier coding questions on a telephonic interview like revering array in place or reversing a string in place.

10 Technologies Programmers Should Learn in 2019

Hello Guys, we are just one week away from 2019 now and many of you might have already made your goals about what to learn in 2019, but if you haven't then you have come to the right place. In this article, I am sharing some of the best framework and libraries for web development, mobile app development, and big data, an application developer can learn in 2019. The New Year will be all about the mobile. machine learning, and next-generation web with a greater focus on big data technologies like Hadoop and Spark, but you can still learn the popular Java and Web development frameworks like React, Node.js, Spring Boot to take your career to next level. These frameworks are tried and tested and will be here for at least the next 5 years to come.

java.sql.BatchUpdateException: Error converting data type float to numeric - Java + SQL Server

This error can come if you are inserting or updating a NUMERIC column in Microsoft SQL Server database from a Java Program using executeUpdate()method, I mean executing a  batch update query. It could also happen if you are calling a stored procedure and passing a float value corresponding to a NUMERIC column, and value happened to be out-of-range like generating "Arithmetic overflow error converting numeric to data type numeric" on the SQL Server end. For example, if your column is defined as NUMERIC (6,2) the maximum value it can represent is 9999.99, not 999999.99

Top 5 Free Course to learn Bash Shell Scripting in Linux

Hello guys, the importance of Linux is well known but what many programmers don't know about how to write shell scripts to make most of it.  Some of them even not familiar with various Linux shell like bash, csh, or ksh, which further limit their ability. If you don't know bash is a UNIX shell and command language which is also a default login shell for many Linux system and Mac OS. It provides the ability to write scripts to do things programmatically.  Shell scripting is an important skill to become an efficient developer or programmer. It allows you to automate trivial tasks which otherwise takes away your valuable time. It also allows you to do thing quickly.

5 Free Python Courses for Beginners to Learn Online

Hello guys, If you are a beginner looking for some Free Python resources to start your programming journey then you have come to the right place. Earlier, I have shared a couple of free Python Programming books and some of the best courses to learn Python which was not free. Some of my readers asked me to share some free online courses to learn Python and it made sense. I personally like starting from free resource and today I'll share a couple of good Python programming courses which are absolutely FREE. You can take these online courses to learn Python at your own pace, at your own time, and at your place. This is a great advantage of online learning, the flexibility it provides is just awesome. 

How to Remove Duplicates from Unsorted Array in Java? [Solved]

This is one of the common technical interview questions which are asked to entry-level programmers and software engineers. There are also a lot of variants of how do you remove duplicates from an array in Java like sometime array is sorted and other times it's not-sorted or unsorted. Sometimes, Interviewer just spends more than half of the interview on this question by progressively making it more difficult by imposing new constraints like removing duplicate elements in place or without using any additional data structure, etc. Btw, If you are allowed to use Java's Collection framework then this is quite easy to solve, but if you are not allowed to use Set, Iterator, and other Java utility classes then it suddenly becomes a tricky algorithm question.

How to check if two String are Anagram of each other - Coding Problem

Here is a Java program to check if two String is an anagram of each other or not.  Two String is said to be an anagram of each other, if they contain exactly the same characters but in a different order. For example "army" and "mary" is an anagram of each other because they contain exact same characters 'a', 'r', 'm' and  'y'. For the sake of simplicity, you can also assume that your solution need not be case-sensitive, which means both ARMY and mary can be matched as an anagram of each other.


10 Free Courses to Learn Algorithms and Data Structure in 2019

Algorithms and Data Structure are two of the most fundamentals and important topics from Computer Science which is used everywhere in software development. I strongly believe that a good knowledge of these two topics are also key to become a better programmer because a person who has a good understanding of algorithms and data structures can make thoughtful choices and write programs which can handle changes better and perform well. They are also important to crack coding interviews at top tech companies like Google, Microsoft, Amazon, Facebook, and Apple, which puts a lot of emphasis on candidate's ability to use existing data structure and algorithms to solve complex problems they have never seen before.

Difference between @SpringBootApplication vs @EnableAutoConfiguration annotations in Spring Boot

Even though both @SpringBootApplication and @EnableAutoConfiguration can be used to enable the auto-configuration feature of Spring Boot there is a subtle difference between them. The @SpringBootApplication does much more than what @EnableAutoConfiguration do. It's actually a combination of three annotations: @Configuration which is used in Java-based configuration on Spring framework, @ComponentScan to enable component scanning of components you write e.g. @Controller classes, and @EnableAutoConfgiuration itself, which is used to enable auto-configuration in Spring Boot application. Spring Boot designers realize that these three annotations are frequently used together so they bundled them into @SpringBootApplicaiton. Now, instead of three annotations you just need to specify one annotation on your Main class.

How to Compare Two Arrays in Java to check if they are equal - String, Integer Array Example

Hello guys, one of the common Programming, the day-to-date task is to compare two arrays in Java and see if they are equal to each other or not. Of course, you can't compare a String array to an int array, which means two arrays are said to be equal if they are of the same type, has the same length, contains same elements and in the same order. Now, you can write your own method for checking array equality or take advantage of Java's rich Collection API. Similar to what you have seen while printing array values in Java, java.util.Arrays class provides convenient methods for comparing array values.

Top 10 Basic C++ Interview Questions and Answers from Investment Banks

Today, for a change I am not sharing any Java interview question, but I am sharing a few C++ interview questions. There is a good demand for developers who know both Java and C++, particularly in investment banking domain, as a lot of high-performance application like client connectivity, exchange connectivity, and order management systems (OMS) are written in C++. If you know both Java and C++ then you have a great chance to get a job in big investment banks like Barclays, Nomura, Deutsche Bank, and other Wall Street Firms.

What is Default or Defender Methods of Java 8 - Tutorial Example

Whenever someone talks about Java 8, the first thing they speak about is lambda expression and how lambda expression has changed the way you use Collections API today. In truth, lambda expression would not be that useful had language not been enhanced to support default methods on Java Interface. Also known as a virtual extension or defender methods, they allow you to declare a non-abstract method inside Java interface. Which means, finally you can add new methods without breaking all classes, which implements a certain interface. This opens a new path for enhancing and evolving existing Collection API to take advantage of lambda expressions. For example, now you can iterate over all elements of Collection in just one line, as opposed to four lines it requires you to do prior to Java 8.

Top 5 Spring Boot Annotations with Examples for Java Developers

Annotations have completely changed the way you write Java code. It's now impossible to write any Java code without using annotations but that's for good. They provide a lot of value and that's why it's important for a Java developer to get familiar with essential annotations of the framework he or she is using. When I think about Java, some of the essential annotations which come in our mind is @Override, @SuppressWarning and @Deprecated. Similarly, if you are using Spring Boot framework, an extension of Spring framework which aims to simplify the Java development with Spring, you will often end of using a couple of annotations like @SpringBootApplication or @EnableAutoConfiguration.

How to Remove an Element from an Array in Java?

Hello guys, In the last article, you have learned how to reverse an array in place in Java and today I have come back with another array based coding interview question. It's also one of the frequently asked coding questions, not as popular as the previous one but still has been asked a lot of times on various Programming Job interviews, particularly to beginners. In this problem, you are asked to write a program to remove a given number from the given array. It may seem easy but the trick is that because an array is a fixed data structure and you cannot change the length of the array once created. So, you need to clarify with the Interviewer, what is the meaning of removing an element from the array here. Does he want to return an array without that element or just set that index to a null or empty string?

5 Best Courses to Learn Spring Boot in Depth

Hello guys, if you remember, one of my goals was to learn Spring Boot in 2019 and I have started working towards it. As I have talked about my 3 point action plan to learn a new technology, the first step is to attend some online courses and start building from that. If you are not sure what is Spring Boot and why should you learn Spring Boot then let me tell you that it should be the first Java framework you should learn in 2019. The Spring Boot makes it really easy to work with Spring framework by removing all the starting hurdles with respect to setup and configuration. In one word, it makes it possible to write Spring-based Java application and run them like core Java application e.g. from the main method.

How to implement linked list data structure in Java using Generics

The linked list is a popular data structure for writing programs and lots of questions from a linked list is asked in various Programming Job interviews. Though Java API or JDK provides a sound implementation of the linked list data structure as java.util.LinkedList, a doubly linked list, you don't really need to implement a linked list of your own for writing production code, but all these interview questions require you to code a linked list in Java for solving coding problems. If you are not comfortable to create your own a linked list, it would be really difficult to solve questions like reversing a linked list or finding middle element of a linked list in one pass.

Top 10 Spring MVC and REST Annotations with Examples for Java Programmers

Hello guys, welcome to my third article on exploring essential annotations from the Spring framework, the most popular framework for Java development. In the first article, I have shared some of the most useful Spring Framework annotations, which were based upon Core Spring functionalities like dependency injection, inversion of control, and configuration, and in the second article, we have learned about important Spring Cloud annotations like @EnableConfigServer, @EnableEurekaSever, and @EnableDiscoveryClient. Now that you know those essential Spring annotations it's time to move towards Spring MVC and REST, one of the most used parts of Spring Framework.

Top 5 Free JavaScript Courses to learn Online - Best of Lot

Hello guys, If you want to learn JavaScript by yourself and looking for some free resources like books, sites, and tutorials then you have come to the right place. In this article, I am going to share some of the best free JavaScript online courses you can join to learn JavaScript by yourself, on your own schedule and at your own place. A lot of people are learning JavaScript and the number is only increasing by each passing day, and why not? It's the #1 web development language. It got tons of useful frameworks and libraries like Angular, ReactNode.js, and jQuery which makes web development really easy.

3 Examples of Stream + Collect() method of in Java 8

Hello guys, you may know that Java 8 brought Stream API which supports a lot of functional programming operations like filtermapflatMap, reduce, and collect. In this article, you will learn about the collect() method. The collect() method of Stream class can be used to accumulate elements of any Stream into a Collection. In Java 8, you will often write code which converts a Collection like a List or Set to Stream and then applies some logic using functional programming methods like the filter, map, flatMap and then converts the result back to the Collection like a ListSetMap, or ConcurrentMap in Java. In this last part, the collect() method of Stream helps. It allows you to accumulate the result into choice fo container you want like a list, set, or a map.

Top 10 Spring Framework Annotations for Java Developers

There is no doubt that Spring framework is one of the most popular Java frameworks and it has made the life of Java developer easy by providing some awesome features in the last 15 years. Spring uses dependency injection to configure and bind your application together but it doesn't force you to implement one of its interfaces. This allows you to code POJO (plain old Java objects), a class with methods and attributes to do most of your stuff. Then the questions come, how do Spring provides those magical features if it doesn't ask you to implement their interface, well they use annotations and many of them. You will find some of the most common annotations in this article, which is must for a Java developer to work with Spring.

5 Free Courses to learn Machine Learning and Deep Learning in 2019

Hello guys, Happy New year 2019. We are already in the second week of January and I am sure you all have made your goals and may be looking for the ways and resources to achieve them. If one of your goals is to learn Machine learning and Deep learning in 2019 then you have come to the right place. In this course, I am going to share some of the best free courses to learn Machine learning and Deep learning online. Btw, If you are thinking to learn Data Science, Machine learning, or Deep learning than you are not alone, more and more people are starting with these advanced skills around the world.

How to get current Day, Month, Year from Date in Java 8 and before? LocalDate vs java.util.Date

In this article, I'll show you how to get the current day, month, year, and dayOfWeek in Java 8 and earlier version like Java 6 and JDK 1.7. Prior to Java 8, you can use the Calendar class to get the various attribute from java.util.Date in Java. The Calendar class provides a get() method which accepts an integer field corresponding to the attribute you want to extract and return the value of the field from given Date, as shown here. You might be wondering, why not use the getMonth() and getYear() method of java.util.Date itself, well, they are deprecated and can be removed in the future version, hence it is not advised to use them.

Top 10 Free Java Courses for Beginners and Experienced Programmers

The Internet is full of useful resources and no matter what you want to learn there is something useful available for free. You just need to commit your time and effort. But at the same time, it's difficult to choose in the huge sea of free tutorials and courses on the internet. If you are not careful, you will spend most of your time browsing and changing courses without learning anything. That's where a curated list helps. Curation is my hobby and passion. I love to read books and courses which allows me to curate useful resources and share with you guys.

10 Examples of forEach() method in Java 8

From Java 8 onward, you can iterate over a List or any Collection without using any loop in Java. The new Stream class provides a forEach() method, which can be used to loop over all or selected elements of list and map. forEach() method provides several advantages over traditional for loop e.g. you can execute it in parallel by just using a parallel Stream instead of regular stream. Since you are operating on stream, it also allows you to filter and map elements. Once you are done with filtering and mapping, you can use forEach() to operate over them. You can even use the method reference and lambda expression inside forEach() method, resulting in more clear and concise code.

How to Remote debug a Java Program in Eclipse IDE

The remote debugging of Java program is an ultimate tool in the arsenal of a Java developer, which is often become the last and only tool to investigate a bug on a Java application running on remote host e.g. on Linux server or Windows server. Almost all major Java IDE provides remote debugging like NetBeans, Eclipse, and IntelliJ IDEA, but I mostly use Eclipse for Java coding and so it's my preferred tool to remote debug a Java program. In order to set up remote debugging in Eclipse, you need to do a couple of tasks e.g. you need to start your JVM with debugging parameters or arguments and then you need to create a "remote debug configuration" in Eclipse IDE itself.

How to sort HashMap by values in Java 8 using Lambdas and Stream - Example Tutorial

In the past, I have shown you how to sort a HashMap by values in Java, but that was using traditional techniques of pre-Java 8 world. Now the time has changed and Java has evolved into a programming language which can also do functional programming. How can you, a Java Programmer take advantage of that fact to do your day to day task better like how do you sort a Map by values in Java using lambda expressions and Stream API. That's what you are going to learn in this article. It will serve two purposes, first, it will tell you a new way to sort a Map by values in Java, and, second and more important it will introduce you to essential Java 8 features like Lambda Expression and Streams, which every Java Programmer should learn.

How to find Nth Fibonacci Number in Java - Coding Problem with Solution

It's been a long time since I have discussed a coding problem in this blog. So, I am going to start with the probably the oldest one of them, how do you find the nth number in a Fibonacci sequence? or how do you find the Fibonacci number in Java? or maybe printing the Fibonacci series. If you are a regular reader of this blog then you might know that I have already discussed both recursive and iterative algorithm for printing Fibonacci series but never really discussed especially writing a program to return the Nth Fibonacci number in Java. Don't worry the wait is over as in this article, we'll solve this common problem and learn a bit more about problem-solving, recursion, iteration and some basic algorithm skills.

Top 5 Spring Cloud Annotations for Java Developers

If you are developing Java application for Cloud then you should learn Spring Cloud, a great framework and extension of popular Spring framework which can help you to develop a cloud-native Java application. Spring Cloud provides several necessary services required for a cloud-based Java application like configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, a control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state etc. On top of that, it builds on the Spring framework so it automatically provides the essential features like dependency injection and inversion of control, which results in loosely coupled and easy to test Java application.

How to Reverse a Singly linked list without Recursion in Java? Iterative Solution

Hello guys, reverse a linked list is a common coding problem from Programming Job interviews and I am sure you have seen this in your career, if you are not, maybe you are a fresher and you will going to find about this very soon in your next technical interview. In the last article, I have shown you how to use recursion to reverse a linked list and today, I'll show you how to reverse a singly linked list in Java without recursion. A singly linked list, also known as just linked list is a collection of nodes which can only be traversed in one direction like in the forward direction from head to tail. Each node in the linked list contains two things, a data and a pointer to the next node in the list.

21 Websites to Learn How to Code for Free Online

Hello there, if you are someone who is learning programming and coding by yourself and looking for some awesome resources then you have come to the right place. In this article, I am going to share 21 websites you can use to learn the code for free from the comfort of your office and home.

1. plurasight.com
One of the best website to learn any technology or IT courses e.g. programming language like Java, web development framework e.g. Spring Framework, Hibernate, etc. It's also now acquired CodeSchool which earlier allows you to learn web technologies by doing it. I use this website to learn a lot of cool stuff in no time.

Difference between Abstract class and Interface in Java 8

Ever since JDK 8 has allowed concrete (non-abstract) methods on the interface like default and static methods, many of my readers have asked me how should they answer the classical abstract class vs interface questions. Earlier, an interface cannot have any concrete methods and that was the main difference between abstract class and interface but now that is not the case. In this post, I'll revisit this hugely popular Java interview question in light of Java 8 changes. As I said, before JDK 8, the level of abstraction was the clear-cut difference between abstract class and interface like interface was the purest form of Abstraction which only defines what interface is supposed to do without specifying how they should be implemented, in other words, it only declares API methods and leaves implementation to its subclasses.