Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 jdk.scripting.nashorn.jmod - Scripting Nashorn Module
JDK 11 jdk.scripting.nashorn.jmod is the JMOD file for JDK 11 Scripting Nashorn module.
JDK 11 Scripting Nashorn module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.scripting.nashorn.jmod.
JDK 11 Scripting Nashorn module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Scripting Nashorn module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.scripting.nashorn.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/nashorn/internal/runtime/NashornLoader.java
/* * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package jdk.nashorn.internal.runtime; import java.io.File; import java.io.InputStream; import java.io.IOException; import java.io.UncheckedIOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.security.AccessController; import java.security.CodeSource; import java.security.Permission; import java.security.PermissionCollection; import java.security.PrivilegedAction; import java.security.Permissions; import java.security.SecureClassLoader; /** * Superclass for Nashorn class loader classes. */ abstract class NashornLoader extends SecureClassLoader { protected static final String OBJECTS_PKG = "jdk.nashorn.internal.objects"; protected static final String RUNTIME_PKG = "jdk.nashorn.internal.runtime"; protected static final String RUNTIME_ARRAYS_PKG = "jdk.nashorn.internal.runtime.arrays"; protected static final String RUNTIME_LINKER_PKG = "jdk.nashorn.internal.runtime.linker"; protected static final String SCRIPTS_PKG = "jdk.nashorn.internal.scripts"; protected static final String OBJECTS_PKG_INTERNAL = "jdk/nashorn/internal/objects"; protected static final String RUNTIME_PKG_INTERNAL = "jdk/nashorn/internal/runtime"; protected static final String RUNTIME_ARRAYS_PKG_INTERNAL = "jdk/nashorn/internal/runtime/arrays"; protected static final String RUNTIME_LINKER_PKG_INTERNAL = "jdk/nashorn/internal/runtime/linker"; protected static final String SCRIPTS_PKG_INTERNAL = "jdk/nashorn/internal/scripts"; static final Module NASHORN_MODULE = Context.class.getModule(); private static final Permission[] SCRIPT_PERMISSIONS; private static final String MODULE_MANIPULATOR_NAME = SCRIPTS_PKG + ".ModuleGraphManipulator"; private static final byte[] MODULE_MANIPULATOR_BYTES = readModuleManipulatorBytes(); static { /* * Generated classes get access to runtime, runtime.linker, objects, scripts packages. * Note that the actual scripts can not access these because Java.type, Packages * prevent these restricted packages. And Java reflection and JSR292 access is prevented * for scripts. In other words, nashorn generated portions of script classes can access * classes in these implementation packages. */ SCRIPT_PERMISSIONS = new Permission[] { new RuntimePermission("accessClassInPackage." + RUNTIME_PKG), new RuntimePermission("accessClassInPackage." + RUNTIME_LINKER_PKG), new RuntimePermission("accessClassInPackage." + OBJECTS_PKG), new RuntimePermission("accessClassInPackage." + SCRIPTS_PKG), new RuntimePermission("accessClassInPackage." + RUNTIME_ARRAYS_PKG) }; } // addExport Method object on ModuleGraphManipulator // class loaded by this loader private Method addModuleExport; NashornLoader(final ClassLoader parent) { super(parent); } void loadModuleManipulator() { final Class<?> clazz = defineClass(MODULE_MANIPULATOR_NAME, MODULE_MANIPULATOR_BYTES, 0, MODULE_MANIPULATOR_BYTES.length); // force class initialization so that <clinit> runs! try { Class.forName(MODULE_MANIPULATOR_NAME, true, this); } catch (final Exception ex) { throw new RuntimeException(ex); } final PrivilegedAction<Void> pa = () -> { try { addModuleExport = clazz.getDeclaredMethod("addExport", Module.class); addModuleExport.setAccessible(true); } catch (final NoSuchMethodException | SecurityException ex) { throw new RuntimeException(ex); } return null; }; AccessController.doPrivileged(pa); } final void addModuleExport(final Module to) { try { addModuleExport.invoke(null, to); } catch (final IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { throw new RuntimeException(ex); } } protected static void checkPackageAccess(final String name) { final int i = name.lastIndexOf('.'); if (i != -1) { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { final String pkgName = name.substring(0, i); switch (pkgName) { case RUNTIME_PKG: case RUNTIME_ARRAYS_PKG: case RUNTIME_LINKER_PKG: case OBJECTS_PKG: case SCRIPTS_PKG: // allow it. break; default: sm.checkPackageAccess(pkgName); } } } } @Override protected PermissionCollection getPermissions(final CodeSource codesource) { final Permissions permCollection = new Permissions(); for (final Permission perm : SCRIPT_PERMISSIONS) { permCollection.add(perm); } return permCollection; } /** * Create a secure URL class loader for the given classpath * @param classPath classpath for the loader to search from * @param parent the parent class loader for the new class loader * @return the class loader */ static ClassLoader createClassLoader(final String classPath, final ClassLoader parent) { final URL[] urls = pathToURLs(classPath); return URLClassLoader.newInstance(urls, parent); } /* * Utility method for converting a search path string to an array * of directory and JAR file URLs. * * @param path the search path string * @return the resulting array of directory and JAR file URLs */ private static URL[] pathToURLs(final String path) { final String[] components = path.split(File.pathSeparator); URL[] urls = new URL[components.length]; int count = 0; while(count < components.length) { final URL url = fileToURL(new File(components[count])); if (url != null) { urls[count++] = url; } } if (urls.length != count) { final URL[] tmp = new URL[count]; System.arraycopy(urls, 0, tmp, 0, count); urls = tmp; } return urls; } /* * Returns the directory or JAR file URL corresponding to the specified * local file name. * * @param file the File object * @return the resulting directory or JAR file URL, or null if unknown */ private static URL fileToURL(final File file) { String name; try { name = file.getCanonicalPath(); } catch (final IOException e) { name = file.getAbsolutePath(); } name = name.replace(File.separatorChar, '/'); if (!name.startsWith("/")) { name = "/" + name; } // If the file does not exist, then assume that it's a directory if (!file.isFile()) { name += "/"; } try { return new URL("file", "", name); } catch (final MalformedURLException e) { throw new IllegalArgumentException("file"); } } private static byte[] readModuleManipulatorBytes() { final PrivilegedAction<byte[]> pa = () -> { final String res = "/"+ MODULE_MANIPULATOR_NAME.replace('.', '/') + ".class"; try (InputStream in = NashornLoader.class.getResourceAsStream(res)) { return in.readAllBytes(); } catch (final IOException exp) { throw new UncheckedIOException(exp); } }; return AccessController.doPrivileged(pa); } }
⏎ jdk/nashorn/internal/runtime/NashornLoader.java
Or download all of them as a single archive file:
File name: jdk.scripting.nashorn-11.0.1-src.zip File size: 1390965 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.scripting.nashorn.shell.jmod - Scripting Nashorn Shell Module
2020-04-25, 83831👍, 0💬
Popular Posts:
How to display types defined in an XML Schema file with the xs\QueryXS.java provided in the Apache X...
What Is junit-3.8.1.jar? junit-3.8.1.jar is the version 3.8.1 of JUnit JAR library file. JUnit is a ...
iText is an ideal library for developers looking to enhance web- and other applications with dynamic...
Old version of xml-apis.jar. JAR File Size and Download Location: File name: xmlParserAPIs.jar File ...
What Is log4j-1.2.15.jar? I got the JAR file from apache-log4j-1.2.15.zip. log4j-1.2.15.jar is the v...