Building an Efficient Cache

Sep 26, 2018

To build a cache could be as simple as to just to use a key-value pair kind data structure. It works sufficient most of the time in a single-threaded application. However, when there are many clients access the same cache while the computation being ... Read more

Basic Serialization

Sep 02, 2018

Serialization includes the part that serializes an object to a file and deserializes a file to an object that has the desired same state as it was in. It is typically done by using two high-level classes from the `` package - `ObjectOutputStre... Read more

Useful File Mini API

Aug 29, 2018

Java io is a very extensive library. There are numerous ways and combinations to write/read data on a file. This article summaries some very useful classes in `` package. ... Read more

Load and Store Properties File

Aug 26, 2018

Properties files are usually used to externalize configuration from applications to text files. This article introduces the syntax and usage of properties files.... Read more

Locale and Resource Bundles

Aug 26, 2018

Resource bundles allow you to move locale-specific information out from your main source code to a properties file or a java class. In this article, we will introduce the usage of both implementations of the `ResourceBundle` interface -- `PropertyRes... Read more

Java 8 Time Package and Locale

Aug 26, 2018

Java 8 provides an extensive time computational package - `java.time` that is recommended for any new code to use because it provides so many helper methods to compute time and easily used with `java.util.Locale` class to support localization *(l10n... Read more

Behavioral Patterns - Visitor Pattern Exercise

Jul 17, 2018

The Visitor Pattern represents an operation to be performed on elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates. In this exercise, we will create a bookstore in... Read more

Behavioral Patterns - Template Method Pattern Exercise

Jul 11, 2018

The Template Method Pattern defines the skeleton of an algorithm in a method, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure. In this exercise, we ... Read more

Behavioral Patterns - Strategy Pattern Exercise

Jul 03, 2018

The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. In this exercise, we will use the Strategy Pattern to create a simpli... Read more

Behavioral Patterns - State Pattern Exercise

Jun 26, 2018

The State Pattern allows an object to alter its behavior when its internal state changes. It tremendously reduces the complexity when introducing more states later to the object. In this exercise, we will use the State Pattern to create a modern vend... Read more