You have a privilege to create a quiz (QnA) related to this subject and obtain creativity score...
Java programming language was invented as the language for the Internet. Java networking features are among the strongest Java benefits.
Just imagine how many users simultaneously access a popular web site, like Google search engine.
Usually a single program takes this hit, processes a request and sends back a response. For each user this program creates a tiny process, a thread that does this work.
Java is a multithreaded environment by design. Creating threads is a natural process in Java Virtual Machine. Yes, Java allows multiple processes to work in parallel to accelerate application performance. This is internal work by JVM and we do not need to interfere, for example, to ensure that Garbage Collection thread is working on cleaning memory from unused objects.
Developers use Java mechanisms to create threads in their programs when the program expects multiple simultaneous requests. Most common cases are: database and network processing and painting a screen (the last one is a client side story, that fading out of Java).
In this section we will learn about Java threads and about Java networking and how they work together.