As the use of the JavaTM language and virtual machines proliferates beyond the sphere of applets into the space of server programs, developers are requiring better performance, availability, and transactional and scalability features. This paper describes the work done for the Operating System/390 (OS/390®) Java virtual machine to improve performance and serviceability, to introduce security and performance enhancements, and to redesign parts of the virtual machine to enable it to run server programs efficiently and safely. Although OS/390 was the motivating platform for these changes, Java server programs on any platform can benefit from these features.