Java is a programming language that conforms to the concept of downloadable, executable content. Java offers a wide range
of capabilities to the application programmer, the most important being that a program may be executed remotely, without any
modification, on almost any computer regardless of hardware configuration and operating system differences. However, this
advantage raises a serious concern: security. When one downloads and executes code from various Internet sources, he is vulnerable
to attacks by the code itself. A security scheme must be applied in order to secure the operations of Java programs. In this
paper, the Java security scheme is examined and current implementations are evaluated on the basis of their efficiency and
flexibility. Finally, proposed enhancements and upcoming extensions to the security model are described.