The JVM plug-in is a dynamically loaded module that is engineered, supported, and installed on your platform independently from Adaptive Server. To Adaptive Server, the plug-in is a “black-box” application and not Sybase-supported technology: the JVM plug-in issues Java result sets, which are translated by the PCI Bridge, which then sends the translated result sets to Adaptive Server.
Because the JVM plug-in is controlled by the PCA/JVM, it is indirectly connected to Adaptive Server. You can install, upgrade, and start the JVM plug-in independently of Adaptive Server.
Typically, Java distributions include one or more JVM implementations. This allows users to select the VM that best corresponds to the performance requirements of individual applications.
Client applications – on platforms typically used for client applications, the JRE includes a VM that is tuned to reduce start-up time and memory footprint.
Server applications – on all platforms, the JRE includes a version of the JVM that is designed for maximum program execution speed.
There are many Java distributions, however, these features of Java technology are common to both the client and server VM versions:
Adaptive compiler – the Java plug-in uses a standard interpreter to launch applications, but analyzes the code as it runs to detect performance bottlenecks, or “hot spots.”
Rapid memory allocation and garbage collection – Java technology provides for rapid memory allocation for objects, and offers a choice of fast, efficient, state-of-the-art garbage collectors.
Thread synchronization – the Java programming language allows you to use multiple, concurrent paths of program execution (called “threads”). Java technology includes a thread-handling capability that scales readily for use in large, shared-memory multiprocessor servers.
Take care when using methods that spawn child threads. java.lang.Thread
objects started within a Java method are scheduled at runtime rather
than by the Adaptive Server scheduler. If these threads are processor
intensive, or spawn large numbers of threads, server performance
can degrade due to competition for processor time.
Although the PCA/JVM plug-in can use either the client or server JVM, Sybase recommends that you use the server version to maximize Java method performance by default; the server version is used by the installation process.
See the client-version documentation for information about the appropriate client version for your enterprise.