Natural Language Processing(NLP)! Although the term might seem new, I can bet that you have definitively used it at least once in your lifetime.

  • Ever wondered whenever you type in your email on Gmail how does it suggests you a completed sentence?
  • Many of the times a mail automatically goes to your spam folder. How does that happen?
  • How is Alexa, Siri etc. able to understand you?

And the list goes on.

In this tutorial, we will go through a step by step guide which will help you get started through Natural Language Processing(NLP).

Before we get started NLP can be used for various purposes but not limited to:

  • Text Classification

It is a process…

Photo by Kon Karampelas on Unsplash

Lately, I was searching for a YouTube dataset for my thesis project. Although there are various YouTube datasets available on the internet I was in need of explicit YouTube channels data which should specifically comprise of the title of the video, its description and the thumbnail of that specific video. This made me utilize the YouTube Data API which not only helped me to extract the data I want but also helped me to get up-to-the-minute data.

Despite the fact that there are some of the tutorials accessible from various websites they were not clearly helpful in extracting the data…

Photo by Michiel Leunens on Unsplash

As we know Java stores the objects in the heap memory which are referenced from the stack. Once these objects are dereferenced they need to be eliminated from memory so as to create space for new objects, to avoid OutOfMemoryError error and to improve the overall application performance. Consider the scenario below.

Before we start….

ThreadLocal is your answer to:-

If you want the object to be thread-safe but at the same time it does not hamper the performance of your application.

If you don’t want to create a new object each time new thread task is being assigned.

If you want to share the same object between multiple method calls without actually passing the object as parameters.

Write a better and clean code in a multithreaded environment.

If that excites you lets take a deep dive in!

Scenario 1:- Creating new objects per thread request.

Java 8 has been a major release in the Java Ecosystem. Out of many of the major features introduced, streams provide more flexibility and maintainability. You can consider it as a SQL statement presented in a different form in a separate ecosystem, providing more functionality. Being a new abstract layer added, It helps us to apply functions to sequences of objects. Although there are many tutorials out there, I have tried to explain this concisely and to help you avoid the struggles I faced while getting used to it. …

You might have recently noticed the hype with the use of microservices over a wide range of applications. Majority of companies are switching to this architecture, every new job posting demands the knowledge of microservices. The increase in demand is easily evident in the graph below.

Photo by Fatos Bytyqi on Unsplash

Memory leak, the name itself speaks a story.

Memory:- Means the Random Access Memory(RAM) on your computer.

Leak:- Leak means the loss of memory or the memory which no longer can be used.

It is a concept in which a Java program is using the memory or resources although it is of no use to any. If we consider the working of the Java Virtual Machine(JVM) it clears the heap memory as soon as it has been dereferenced but what if the object is still being referenced but of no use any longer? …

Photo by Safar Safarov on Unsplash

When it comes to object creation in Java it becomes necessary to understand how does the compiler handles constructor creation in Java. Constructor is a block of code which helps us to initialize the new object in java and gives it a state and behaviour.

Constructor creation can be characterized in two ways wiz Automatically and Explicitly.
In the case when you do not explicitly define a constructor declaration, the Java compiler automatically provides a default constructor declaration for you. This is a public no-argument constructor which is required to initialize a new object. Consider an example below


Photo by Caspar Camille Rubin on Unsplash

When it comes to programming languages particularly considering Java the most discussed topics are OOPs concepts, Multithreading and numerous others to consider. Yet, one of the points which aren’t given a lot of significance are references and garbage collection which turns out to be significant considering the performance of your application.

In this article, we are going to discuss four types of references in Java and how garbage collector behaves differently with each one of them.

1. Strong References

These references are the one which we usually use in our day to day programming.

class Robot
//Your code here
public class…

Prateek Nima

Curious and Codelicious!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store