📝 Research :https://ojitha.blogspot.com.au
for my lengthy articles.
Understand JPMS
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.
As shown in the above diagram, there are three modules, Application, Service and Provider.
Java Thread interrupt
It is important to understand how the Java thread interrupt work.
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. |
Use of default and static methods
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.
Java Nested Classes
Classes can be defined inside other classes to encapsulate logic and constrain the context of use. For example:
Normalization
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.