In Java 8, PermGen space on the heap is replaced by Metaspace on native memory. The main difference between them is, Metaspace by default auto increases its size up to the memory provided by the Operating System, while PermGen always had a fixed maximum size. So, there will be fewer chances to get the OutOfMemoryError. When PermGen was initially introduced there was no dynamic class loading/unloading, so when the class was loaded it was there

Read more 0

Garbage Collection in Java

What is Garbage collection? The process of destroying unused/unreferenced objects are called garbage collection. Java garbage collection is the process by which Java programs performs automatic memory management. When Java programs run on the JVM, objects are created on the heap. When the object is no longer required, garbage collector find those unused objects and remove them to free up memory for reuse. How Garbage Collection work? Java Garbage collection is an automatic process, we

Read more 0

What is Spring Boot? Spring is a popular Java-based framework for building web and enterprise grade application. spring framework provides various modern features via its various projects. Spring team created Spring Boot project to create standalone, production-ready spring based executable applications. Most of the spring boot application requires minimal spring configuration. Why Spring Boot? In a traditional monolithic approach for developing web/RESTful application, a WAR is created and deployed on a web server like: Tomcat,

Read more 0

Spring Initializr- Spring Boot, bootstrap your first REST API application

Spring Boot is been created for Rapid development. In this article will go through the steps to create first basic REST API using Spring Boot. We will see the more advanced version of this application in upcoming articles on microservices. Prerequisite: 1. Maven 3.X 2. Java 1.8/1.7 Getting Started - Step by Step guide The best way to bootstrap your Spring Boot projects is to use Spring Initializr It allows you to bootstrap various type

Read more 0

Microservices Architecture

In recent years, micro-service is getting popularity and is a buzz word in IT/Software industry. Micro-services are an architectural style or an approach to build IT systems as a set of business capabilities that are autonomous, self-contained, and loosely coupled. Its used to achieve agility, the speed of delivery and scaling. Many organizations such as Netflix and Amazon used this technique to functionally partition their applications into smaller atomic units. Micro-services originated from the idea

Read more 0

Java Exception Hierarchy

Java Exception Hierarchy As shown in the exception hierarchy, a Throwable class is a superclass of all errors and exceptions in Java. Objects those are instances of Throwable or one of its subclasses are thrown by JVM or by Java throw statement. Error: An Error is a subclass of Throwable that represents serious errors that can't be handled. A method is not required to declare throws clause for Error or any of its subclasses for

Read more 0