January 03, 2025
How to create Immutable Classes in Java
Immutable classes are classes whose objects cannot be modified after they are created. Once an instance of an immutable class is initialized, its state cannot be changed. This property makes immutable objects particularly useful in concurrent programming because they ensure thread safety without requiring synchronization. Their instances are also ideal for use as keys in hash-based collections like HashMap because their hash code is constant. How…Read Moreby Phee Jay
January 28, 2019
Spring MVC - How to handle errors from a controller?
In a web application, it is very important to handle errors. Proper error handling would protect the application from several vulnerabilities, including Security Misconfiguration . In this post, you will see how you can handle exceptions that arise out of a Spring MVC based application.Read Moreby Phee Jay
January 25, 2019
Java - How to find the IP Address of a host in Java ?
In Java, if you are looking to resolve an IP Address from the given hostname, then you can leverage the capabilities provided by InetAddress . It belongs to the "java.net" package and provides various utilities related to resolving addresses and IPs.Read Moreby Phee Jay
April 13, 2017
Localization with Spring
Localization enables applications to cater to users of different locations and languages. Spring, as usual, has support for this aspect as well. Before jumping into what Spring has to offer, let's explore what we get from Java itself.Read Moreby Phee Jay
March 04, 2017
Deep Copy Java Objects through Serialization
When it comes to deep copy or cloning an object, the first thing that comes to mind is to override the clone() method and set each field manually. This can be pretty cumbersome to implement for complex objects or if you have to do this for a lot of them.Read Moreby Phee Jay
February 17, 2017
JSON Property Name Customization in Jackson using PropertyNamingStrategy
Jackson is one of the most popular java libraries for serialization/deserialization of POJOs to/from JSON. By default, Jackson derives the JSON element names from the getter/setter method names of the POJO. e.g. getActorName() is translated to actorName in the resulting JSON.Read Moreby Phee Jay