Peter B. Kessler wrote:
Does the Java platform do anything to prevent files from changing
out from under it? E.g., once one has opened a jar file for class
loading, could a malicious (or oblivious) user write to the jar
file and disturb the VM? Or is that all relegated to "the operating
system", file system permissions, etc.?
... peter
There isn't anything special so files that are open can be changed or
replaced by an attacker or unintentionally assuming they have
appropriate permissions. It's harder to replace files on Windows due to
file locking. When a file is replaced then for regular I/O we will
continue to access the original file until it is closed. As you mention
JAR files then I wonder if you might be thinking about mmap'ed files?
Are you looking at an error log with a SIGBUS by any chance :-) I
believe we currently mmap the central directory of JAR/zip files. Dave
or Martin may want to say more about this but periodically people try to
replace JARs on the file system and wonder why the VM falls over soon
afterwards.
-Alan.