In this chapter, you have learned about the main Java processes that support any application's execution, the steps of a program's execution, and the main components of JVM architecture that compose the execution environment; runtime data areas, classloader, and execution engine. You have also learned about the lightweight processes called threads and how they can be used for concurrent processing. The summary of ways to run a Java application and the main features of the garbage collection process concluded the discussion about JVM.
In the next chapter, we will walk through several often used libraries – both standard (that come with JDK) and external open-source libraries. Pretty soon, you will know most of them very well, but to get there you need to start, and we will help you with our comments and examples.