Java uses an automatic memory management system called a garbage collector.
Kahn’s Algorithm for Topological Sort
Implementation:
BFS + Queue
We will have a Adjacency List, on array which consists of degree of each vertex and a Queue
Let’s see for traverse this algorithm for the graph given below.
Introduction to Spring batch
In our software development world, we often need something which can
Backtracking Algorithms
Backtracking is a form of recursion. But it involves choosing only option out of any possibilities. We begin by choosing an option and backtrack from it, if we reach a state where we conclude that this specific option does not give the required solution. We repeat these steps by going across each available option until we get the desired solution.
This technique use brute force approach which says that for a given problem you should try all possible solutions and pick up desired solutions
UI Based automation using Selenium
We all know the manyfold benefits of software testing but as the project grows on every release, which is typically once in a week or bi-weekly, we can’t follow up with testing the way we started because verifying every basic to advanced functionality on every browser and with each and every supported Operating system becomes a monotonous task.
Java Streams
Overview
The addition of the Stream was one of the major features added to Java 8. This in-depth tutorial is an introduction to the many functionalities supported by streams, with a focus on simple, practical examples.
Introduction
First of all, Java 8 Streams should not be confused with Java I/O streams (ex: FileInputStream etc); these have very little to do with each other.
Simply put, streams are wrappers around a data source, allowing us to operate with that data source and making bulk processing convenient and fast.
Concurrency In JAVA
Fundamentals - I
Motivations for Concurrency
There are a number of motivations for the usage of Concurrency in today's time, and in many cases now more than ever we are living in a time where concurrency has become one of the most important factor in the scaling factors of most of the applications that we develop.
No Need To Check Nulls?
java.lang.NullPointerException
This is the common exception which every developer deals with, each day. Today we are going to mitigate your chances to meet this exception and believe me if you use the below strategy you are going to miss this exception.
Today we’ll be discussing Null Pointer Design Patten.
Strategy Design Pattern
Hi, Today we’ll be going a step forward in the design of software architecture. In this article, I’ll be going through the strategy pattern.
Why do we need this? If we use this pattern in our coding style, our code will be more flexible and later if you want to alter or extend the code that varies, you can do without affecting that does not.
How?
Very important principle #1 in design ->
take what varies and encapsulate it … and it will not affect the rest of our code
code that changes ← — — -> code that stays the same
Very important principle #2 in design ->
SOLID Principles: Why and How ?
In this article, we will be learning about SOLID principles. This is the biggest need of the time as we all write the code every day and it becomes a tedious task to make changes into them.
Why you need them: