[jndi] What is JNDI? What is its basic use? When is it used?

I am just curious why the official docs are so ignored which elaborate the details meticulously already.

But if you'd like to understand the cases, please refer to duffymo's answer.

The Java Naming and Directory InterfaceTM (JNDI) is an application programming interface (API) that provides naming and directory functionality to applications written using the JavaTM programming language. It is defined to be independent of any specific directory service implementation. Thus a variety of directories--new, emerging, and already deployed--can be accessed in a common way.

And its architecture

enter image description here

And normally how you use it.