Of course, once the write procedure is done, the rights are returned to their previous state. Hydra provided a library of kernel-defined primitives that could be used to define the access rights to resources. There aren't any readings on Java, but it certainly is interesting to see how security is implemented in a widely deployed system. See the documentation on the Java 1.2 Security Model for more information. The Verifier is a subsystem in the Java Virtual Machine.
Verification can be slow, but it is only run once, before the interpreter executes the bytecodes.
Java bytecodes can be run in a sandbox , essentially a restricted environment. Digital Signatures and Certificates have been introduced into Java, allowing users that download bytecodes to verify from whence the program came. Verified bytecodes can be run as trusted local code. OS Prelim Readings 44. A Hardware Architecture for Implementing Protection Rings.