The Java environment was designed with security in mind. As a language destined for network operation, Java's developers at Sun Microsystems were well aware of the dangers of potential hackers manipulating code being moved over a network. The Java language has built-in security features that can provide tight control over the process of class loading and the interaction of the application to its operating environments (e.g., the disk, the network ports).
As this chapter details, Java security is designed around two types of security: application security and system security. Java provides security features and packages to manage both types of security.