HTML

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.

Binary Search Algorithm using Recursion in Java

In the last article, we have seen the iterative implementation of binary search in Java and in this article, you will learn how to implement binary search using recursion. In order to implement a recursive solution, you need to break the problem into sub-problems until you reach a base case where you know how to solve the problem like sorting an array with one element. Without a base case, your program will never terminate and it will eventually die by throwing the StackOverFlowError. In the case of recursive binary search implementation, we calculate the middle position by taking the start and end position and check if the target element is equal to the middle element or not.

Can you Make a Class Static in Java? Interview Question

This is one of the tricky questions in Java because there is no straight forward Yes and No answer here. You cannot make a top level class static in Java but Yes, you can make a nested class static in Java. In fact, it is even advised (see Effective Java) to prefer a nested static class in Java than normal inner classes. Now, the question comes what is a top level class and what is a nested class in Java? Well, you can declare multiple classes in a single Java source file. A class is said to be top level if it is not inside any other class and a class which is inside another class is known as nested class. You can create nested class inside another top level or another nested class in Java. This is the class which can be static in Java.

Effective Java 3rd Edition by Joshua Bloch – A Must Read Book for Java Developers

Hello guys, you might have heard about it that Effective Java 3rd Edition is finally available. After 10 years of the long wait by Java programmers from all over the world, finally, an updated version of, probably the most popular Java book on the planet is released now. This new version covers the features and paradigm introduced in JDK 7, 8, and 9.  Joshua Bloch has done a great job in also updating most of the items to keep it relevant to the newer version. Apart from that, there is a whole new chapter added to explain best practices around Java 8 features. I know you don't need any reason to read this book, given its huge popularity and acceptance. Many startups which use Java,  particularly in India, are also distributing copies of this book as a New Year Gift.

5 Free Eclipse and JUnit Online Courses for Java Developers

Both Eclipse and JUnit are two of the essential tools for Java Developers. Eclipse is a Java IDE, Integrated Development environment which allows you to code, run and debug Java program from a single window, while JUnit is a unit testing library which allows you to test your Java code automatically. You can write JUnit tests and then you can run them automatically using Maven or Gradle plugin at build time. You can further automate your build using Jenkins which means your Unit test will run continuously and automatically, reporting any break at the earlier possible opportunity.

Difference between VARCHAR and CHAR data type in SQL Server

Hello all, today, I am going to share an interesting SQL Server interview question which will not only help you in your interview but also in your day-to-day work. It explains one of the key concepts of SQL Server, the difference between VARCHAR and CHAR data type. I am sure, you all have used both of them numerous time but because it's so common many of us ignore the difference between them and when asked to choose between VARCHAR and CHAR on interviews, they fail to give a convincing reason. The difference is not just important from interview point of view but also from a robust database design because an incorrect choice of data type not only limit what kind of data you can put on but also waste precious space and makes your query slower, particularly when you have to deal with the massive amount of data.

How to convert Integer to String in Java - Example

This is the second part of String to Integer data type conversion tutorial in Java, in the first part you have learned how to convert String to Integer and in this article, you will learn the opposite i.e. convert from Integer to String. Actually, you can apply all the tricks, which I had told you before about converting long to String, and autoboxing will take care of converting int to Integer in Java. But, if you care for performance and believe in not using auto-boxing when not needed then there are still a couple of ways which directly converts an Integer object to String e.g. Integer.toString() method, which returns a String object and doesn't have any auto-boxing overhead. Let's see a couple of more ways to convert an Integer to String in Java.

Right Way to Create, Start and Stop a New Thread in Java

One of the most important task for a Java developer is to learn multi-threading and learn it correctly. There are more Java developers who know multi-threading incorrectly than the programmer who doesn't know at all. In order to learn it correctly, you need to start it from scratch, I mean the most fundamental concepts of multithreading like how to create create, start, and stop a new thread in Java. I am sure you already know that as you have done that a lot of time but it's worth remembering few facts to not repeat the mistakes many programmers do when they write multithreading code in Java. In this article, we'll see a couple of those, mainly while creating, starting, and stop threads in Java. So fasten your seatbelt and let's go little deep into threads in Java.

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.

6 Free Maven and Jenkins Online Courses for Java Developers

Maven and Jenkins are two of the most popular tools in the Java world. Maven helps to organize your project and provide support to build and deploy Java projects while Jenkins can provide continuous integration and delivery by completely automating build and deploy projects. As a Java developer, it's very important that you know both Maven and Jenkins because every other company is using it and not knowing these technologies will only put you behind other candidates if you go for a job. If you have yet to learn Maven and Jenkins then you have come to the right place, In this article, I will tell you 6 free course you can take to learn Maven and Jenkins online, but before that, let's understand what is Maven and Jenkins and what are their purpose.

Eclipse - Unsupported major.minor version 53.0, 52.00, 51.0 Error in Java

The UnsupportedClassVersionError is a big nightmare for Java developers, probably the next biggest after NoClassDefFoundError and ClassNotFoundException but its slightly easier to solve. The root cause of this error is that your code is compiled using higher JDK version and you are trying to run it on the lower version. For example, the Unsupported major.minor version 53.0 means your code is compiled in JDK 9 (the class version 52 corresponds to JDK 9) and you are trying to run it on any JRE lower than Java 9, probably JDK 8, 7, or 6.

Top 5 Free React JS Courses for Web Developers to Learn Online

React JS or React is one of the most popular frameworks or Javascript library for building user interfaces. It's backed by Facebook and it's often viewed as an alternative to the great Angular framework by Google. React is also very flexible, fast, easy to learn and fun to work with. It is designed to make the process of building modular, reusable user interface components simple and intuitive and that's why most of the modern GUI and web applications are build using React framework. It is developed at Facebook and it focuses on the 'View' aspect of MVC in web applications. The component-based development is one of the biggest advantages of React library which is both rich and extensible.

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.

10 Examples of Array Data Structure in Java - Tutorial

Along with the String, the array is the most used data structure in Java. In fact, String is also backed by a character array in Java and other programming languages. It's very important for a Java programmer to have good knowledge of array and how to do common things with array e.g. initialization, searching, sorting, printing array in a meaningful way, comparing array, converting an array to String or ArrayList and doing some advanced slicing and dicing operation with an array in Java. Like my previous tutorials 10 examples of HashMap in Java, I'll show you some practical example of array in Java. If you think, any important operation is not included, you can suggest their examples and I'll add them to this list.

Top 5 Free Angular Courses for Beginners to Learn Online - Best of Lot

Google's Angular is one of the most popular JavaScript frameworks for creating web apps. It helps you in creating complex web applications in less time. It's maintained by Google so you can also rest assured that this powerhouse of a framework is built with speed and purpose and here for a long run. The Angular Framework is also the most popular framework in the world for building single page applications.  The framework was first launched as Angular JS which allowed building a web application using Model View Controller concept and it was hugely popular but it was later re-written completely, which is now known as simply Angular or Angular 2.

How to do InOrder traversal in Binary tree without Recursion in Java

This is the second part of implementing inorder traversal of a binary tree in Java, in the first part, I have shown you how to solve this problem using recursion and in this part, we'll implement inorder traversal algorithm without recursion. Now, some of you might argue, why use iteration if the recursive solution is so easy to implement? Well, that's true, but the iterative solution is often regarded better as they are not prone to StackOverFlowError. Another reason why we are discussing the iterative solution here is because of technical interviews. If you to go to a programmer job interview, you will find that Interviewer will often ask you to solve the same problem using iteration and recursions like Fibonacci series or String reversal algorithm. It's also good for your learning and developing algorithm skill, which is very important for becoming a better programmer.

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Hello guys, this is one of the common error in a client-server application. The big problem in solving this error is not the error but the knowledge of how client-server SSL handshake works. I have blogged about that before and if you have read that you know that in order to connect to any website or server (like LDAP Server) using SSL, you need to have certificates (public keys) to validate the certificates sends by the website you are connecting. If you don't have the root certificate or public key, which is required to validate the certificate presented by the server in your JRE truststore then Java will throw this error.

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

In order to solve this error, just add the root certificate required to connect to the server in question into truststore of your application's JRE.

10 Things Java Developer Should Know about Lambda Expression of Java 8

The Lambda expression is one of the most important features of Java 8 which has opened a whole new dimension of programming paradigm in Java. It is the feature which made the Functional Programming possible in Java because now you can pass the code to a function to execute as opposed to an object. You might be a bit surprised but if you look from a developer's point of view, it is nothing but a way to pass code to a method in Java. Technically, it's an expression where you can define parameters and then the code which uses those parameters, similar to a method in Java, but you don't need to write boilerplate code e.g. method name, return type, argument type etc. Most of those details are inferred by compiler and JVM from the context in which lambda expression is used.

Top 5 Amazon Web Services or AWS Courses to Learn Online - FREE and Best of Lot

Hello guys, if you are thinking about cloud, cloud-computing and looking at the various cloud providers like AWS, GCP, or Azure then you are going in the right direction. Future lies with Cloud and it's very important for every developer to learn about cloud computing solutions. When we talk about Cloud the first thing comes in mind is AWS, the biggest Cloud Computing platform and that's why I suggest a lot of developers learn it. If you want to learn Amazon Web Services, popularly known as AWS and looking for some awesome resources like books, courses, and tutorials then you have come to the right place. In this article, I am going to share some of the best Amazon Web Services or AWS online courses which will help you to learn this revolutionary and valuable technology free of cost.

Difference between WHERE and HAVING clause in SQL?

The main difference between WHERE and HAVING clause comes when used together with GROUP BY clause, In that case WHERE is used to filter rows before grouping and HAVING is used to exclude records after grouping. This is the most important difference and if you remember this, it will help you write better SQL queries. This is also one of the important SQL concepts to understand, not just from an interview perspective but also from a day-to-day use perspective. I am sure you have used WHERE clause because its one of the most common clause in SQL along with SELECT and used to specify filtering criterion or condition. You can even use WHERE clause without HAVING or GROUP BY, as you have seen it many times. 

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.

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.

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.

5 Free BlockChain Online Courses for Programmers to Learn

Hello guys, how are you doing? hope you all are having a great time and working towards your goal this year. I have been sharing a lot of courses and tutorials in this blog about what to learn in 2019, starting from tools to frameworks, from libraries to programming languages, but one of the most important technology, you can learn in 2019 is the Blockchain technology. It's one of most talked about technology at the moment and considered to be the next big thing after the invention of the internet as they provide a way to attain digital trust on the Internet.

Top 25 Exception Interview Questions for Java Programmers

1) The difference between checked and unchecked Exception in Java?
For checked exceptions, the compiler ensures that they are either handled using try-catch, try-finally or try-catch-finally block or thrown away. If a method, which throws a checked exception e.g IOException and doesn't handle them or doesn't declare them in throws class of method, a compile-time error will occur. On the other hand, the compiler doesn't do similar checks for an unchecked exception, that's why it is known as un-checked. These are also called runtime exception because they extend java.lang.RuntimeException.

Top 10 Open Source Frameworks and Libraries Java Web Developers Can Learn in 2019

Java programming language and Platform has been very lucky in terms of frameworks, standards, and libraries, I guess which is one of the important reason for its huge success. Apart from standard frameworks like Swing for desktop GUI application, JavaFX, Servlets and JSP, EJB, and JSF, there are a lot more open source framework and libraries available for Java programmers. These Open source framework, not only helps and speed up development but also enforce to use best practices required to build enterprise Java application and desktop application. Frameworks like Spring, which in my opinion gives a much-needed boost to the Java platform, enforces dependency Injection design principle at the core, which is key to build a loosely coupled system.

5 Examples of Enhanced for loop in Java

Enhanced for loop was added way back in 2004 in Java and it provides an easy and cleaner way to iterate over array and Collection in Java. The introduction of forEach() in Java 8 has further improved iteration but that doesn't mean that you need to forget the for each loop. In this article, you'll see some cool examples of enhanced for loop in Java which will help you to write better and more readable code in Java. It's also less error-prone because you don't have to deal with an index like you need to with the classic "for" loop. This means no chance of one-off error, means no risk of starting with index zero when you want to start with one or vice-versa.

10 ways to learn a New Technology, Programming language, Frameworks, or Libraries in 2019

One of the main challenges of being a programmer or software engineer is constant learning. Yes, that's true. As a programmer or developer, we always need to learn new things, sometimes every year. Thanks to C, Java, Linux, and SQL, we still have some ground but the way these technologies are used changes every year. For example, we have a new JDK 12 release this year, even though many Java developers are still learning Java 8. We also have a Spring Framework 5.0 release last year, combined with Spring Security 5.0 and Spring Boot 2.0 release, which many of us need to learn in 2019.

Difference between OCAJP and OCPJP Certification Exams for Java Programmers

Earlier when Sun Microsystems was in charge of Java, the popular Java certifications were called "Sun Certified Java Programmer" or "SCJP" and that time there was just one exam, you need to pass to become a certified Java Developer, but when Oracle took over Sun Microsystems on 2010, the SCJP goes away and OCAJP and OCPJP born. Since Oracle already has his certifications for database administrations e.g. OCA which stands for Oracle certified associates and OCP, which stands for Oracle Certified Professional, it introduces new Java certifications to match their existing hierarchy and they are known as OCAJP and OCPJP in the Java world.

Top 5 Amazing Gifts for Programmers, Coders, and Software Developers

If you are planning for a surprise gift to your programmer boyfriend and husband on this holiday season e.g. Black Friday, on Christmas, or New Year or maybe on his next birthday, but not sure what to gift, then you have come to the right place. In this article, I am going to share some of the best gifts every programmer wish for. To be honest with you, buying a gift is easy but finding the right gift is very tough. I have spent countless hours on the internet to find a perfect gift for one of my colleague's husband and this article is a result of that research. The general perception of programmers is that they are a nerd, they love books, gadgets, cool stuff, music, but the perfect gift is something which not only provides the enjoyment but also the value.

5 Free Database and SQL Query Courses for Programmers to Learn Online

Hello guys, I have been sharing some free programming resources e.g. books and courses in this blog for quite some time. Earlier I have shared free courses on Java, Maven, Spring, and Data Structure and Algorithms and today I'll share some of the free online training courses to learn SQL and Database. Why you should learn SQL? Well, it's one of the must-have skill for programmers, application developer, and IT professionals. Like Linux, this is one skill which is going to serve you longer than any other programming language, framework, or library. The SQL is used to interact with Database Systems like Oracle, MySQL, and Microsoft SQL Server. As per ANSI (American National Standards Institute), SQL stands for the Standard Query language for Relational Database Management Systems.

8 Websites to Learn JavaScript Online - Best of Lot

We live in the world of internet which is full of resource. You can learn whatever you want and that too without spending too much money. If you want to learn JavaScript there are plenty of websites where you can learn JavaScript online for FREE. You don't need to pay any fees, but you must have a good internet connection to take full advantage of these online resources. Out of so many websites which offer free tutorials, articles, blog post, videos, and podcasts, I have chosen these six websites to recommend to anybody who wants to learn JavaScript.