📝 Research :https://ojitha.blogspot.com.au for my lengthy articles.

Understand JPMS

March 27, 2021

Java Platform Module System (JPMS) has been introduced since Java 9. With Java 9, JDK has been divided into 90 modules. This is a simple example created using IntelliJ IDEA.

module-info

As shown in the above diagram, there are three modules, Application, Service and Provider.

download soruce

More…

Java Thread interrupt

March 23, 2021

It is important to understand how the Java thread interrupt work.

image-20210326104946921

Source Target Action
New Runnable thread start().
Runnable Blocked synchronized lock on.
Runnable waiting when object call Object.wait().
Runnable timed-waiting when Thread.sleep(...).
Runnable Terminated When thread finished.
More…

Use of default and static methods

March 16, 2021

A default method added to maintain the backward compatibility which allows older classes (without modifications) to access new version of an interface.

Java 9 interfaces can have private methods and private staic methods. These methods support code reusabilit in the interface level.

More…

Java Nested Classes

March 15, 2021

Classes can be defined inside other classes to encapsulate logic and constrain the context of use. For example:

TestOrder

More…

Normalization

January 20, 2021

E. F. Codd proposed three normal forms: 1NF, 2NF and 3NF (1970). A revised definition (1974) was given by F. Boyce and Codd, which is known as the Boyce-Codd Normal Form (BCNF, which is 3.5NF) to distinguish it from the old definition of the third normal form. R. Faign introduced 4NF(1977) and 5NF(1979) and DKNF(1981). All the normal forms depend on functional dependency, but 4NF and 5NF have been proposed based on the concepts of multivalued dependency and joining dependency.

More…