that could potentially bypass the stack inspection), the permission to instantiate and use a custom class loader (which could choose to associate AllPermission to a malicious class upon loading it), and the permission to create a custom permission (which could declare itself as powerful as AllPermission via its implies method). These issues are documented in Pistoia's two books on Java Security: Java 2 Network Security (Second Edition) and Enterprise Java Security. Parallel installations Before Java 7, it was normal for the installer not to detect or remove older Java installations. It was quite common on a Windows computer to see multiple installations of Java 6 on the same computer, varying only by minor revision. Multiple installations are permitted and can be used by programs that rely on specific versions. This has the effect that new Java installations can provide new language features and bug fixes, but they do not correct security vulnerabilities, because malicious programs can use the older versions. Java 7 updated older versions of itself, but not Java 6 or earlier. Automatic updates As of 2014, common third-party tools (such as Adobe Flash and Adobe Reader) have been the subject of scrutiny for security vulnerabilities. Adobe and others have moved to automatic updates on Windows. These don't need any user action, and assure that security issues are promptly resolved with minimal effort by users or administrators. As of 2015, Java 8 still requires users to update Java themselves. But on Windows only those with administrator privileges can update software. The Windows Java updater frequently triggers a disruptive User Account Control elevation prompt: whatever users choose, they still get the same "Java needs to be updated" message. JIT related security challenges and possible exploits JIT compilation fundamentally uses executable data, and thus poses security challenges and possible exploits. See also Comparison of Java and C++ Comparison of Java and C# Comparison of the Java and .NET platforms Java performance Write once, run anywhere Scala, a programming language designed to address criticisms of Java Notes External links Free But Shackled - The Java Trap, an essay by Richard Stallman of the free software movement (dated April 12, 2004) Computer Science Education: Where Are the Software Engineers of Tomorrow? (dated January 8, 2008) What are Bad features of Java? Java (programming language) Java de:Java (Technik)#Kritik