This chapter provides general recommendations on how to plan, implement, configure and tune Java™ Virtual Machines that is applicable to all the supported JVM families. Family-specific JVM recommendations, such as Permanent Generation settings for HotSpot JVM can be found under the following JVM-sections:
The Java language is designed to be "Written Once and Run Anywhere" (WORA). When you compile a Java source, you get an intermediate Java file called the Java class. The class file is made up of bytecodes representing abstract instruction codes. These codes are not directly executable by any computer processor. In contrast, languages like C compile their source code to native instructions for a specific processor.
To run a Java program, you start a JVM and pass the class file to the JVM. The JVM provides many services including loading the class file and interpreting (executing) the byte codes. The JVM is the core technology that provides the runtime environment in which a Java application runs in.
Each Java program or application runs in its own JVM. For example, if you configured an application server cluster with ten managed server instances that is controlled by one administrative instance, your configuration runs eleven JVM processes.
Since the JVM is the underlying processing engine for Sterling Selling and Fulfillment Foundation, it is critical that the JVMs are optimally configured and running efficiently. Incorrect JVM settings could cause poor application performance. At worse, it could lead to JVM outages.