--- old/src/share/classes/sun/applet/AppletPanel.java 2013-11-13 11:20:46.000000000 +0400 +++ new/src/share/classes/sun/applet/AppletPanel.java 2013-11-13 11:20:46.000000000 +0400 @@ -794,18 +794,13 @@ doInit = true; } else { // serName is not null; - InputStream is = (InputStream) - java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - return loader.getResourceAsStream(serName); - } - }); - ObjectInputStream ois = - new AppletObjectInputStream(is, loader); - Object serObject = ois.readObject(); - applet = (Applet) serObject; - doInit = false; // skip over the first init + try (ObjectInputStream ois = new AppletObjectInputStream( + AccessController.doPrivileged((PrivilegedAction)() -> loader.getResourceAsStream(serName)), + loader)) { + + applet = (Applet) ois.readObject(); + doInit = false; // skip over the first init + } } // Determine the JDK level that the applet targets. @@ -1239,20 +1234,13 @@ // append .class final String resourceName = name + ".class"; - InputStream is = null; byte[] classHeader = new byte[8]; - try { - is = (InputStream) java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - return loader.getResourceAsStream(resourceName); - } - }); + try (InputStream is = AccessController.doPrivileged( + (PrivilegedAction) () -> loader.getResourceAsStream(resourceName))) { // Read the first 8 bytes of the class file int byteRead = is.read(classHeader, 0, 8); - is.close(); // return if the header is not read in entirely // for some reasons.