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.attach.jmod - Attach Module
JDK 11 jdk.attach.jmod is the JMOD file for JDK 11 Attach module.
JDK 11 Attach module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.attach.jmod.
JDK 11 Attach module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Attach module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.attach.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/tools/attach/VirtualMachineImpl.java
/* * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.tools.attach; import com.sun.tools.attach.AttachOperationFailedException; import com.sun.tools.attach.AgentLoadException; import com.sun.tools.attach.AttachNotSupportedException; import com.sun.tools.attach.spi.AttachProvider; import sun.tools.attach.HotSpotVirtualMachine; import java.io.IOException; import java.io.InputStream; import java.util.Random; public class VirtualMachineImpl extends HotSpotVirtualMachine { // the enqueue code stub (copied into each target VM) private static byte[] stub; private volatile long hProcess; // handle to the process VirtualMachineImpl(AttachProvider provider, String id) throws AttachNotSupportedException, IOException { super(provider, id); int pid; try { pid = Integer.parseInt(id); } catch (NumberFormatException x) { throw new AttachNotSupportedException("Invalid process identifier"); } hProcess = openProcess(pid); // The target VM might be a pre-6.0 VM so we enqueue a "null" command // which minimally tests that the enqueue function exists in the target // VM. try { enqueue(hProcess, stub, null, null); } catch (IOException x) { throw new AttachNotSupportedException(x.getMessage()); } } public void detach() throws IOException { synchronized (this) { if (hProcess != -1) { closeProcess(hProcess); hProcess = -1; } } } InputStream execute(String cmd, Object ... args) throws AgentLoadException, IOException { assert args.length <= 3; // includes null // create a pipe using a random name Random rnd = new Random(); int r = rnd.nextInt(); String pipeprefix = "\\\\.\\pipe\\javatool"; String pipename = pipeprefix + r; long hPipe; try { hPipe = createPipe(pipename); } catch (IOException ce) { // Retry with another random pipe name. r = rnd.nextInt(); pipename = pipeprefix + r; hPipe = createPipe(pipename); } // check if we are detached - in theory it's possible that detach is invoked // after this check but before we enqueue the command. if (hProcess == -1) { closePipe(hPipe); throw new IOException("Detached from target VM"); } try { // enqueue the command to the process enqueue(hProcess, stub, cmd, pipename, args); // wait for command to complete - process will connect with the // completion status connectPipe(hPipe); // create an input stream for the pipe PipedInputStream in = new PipedInputStream(hPipe); // read completion status int status = readInt(in); if (status != 0) { // read from the stream and use that as the error message String message = readErrorMessage(in); in.close(); // special case the load command so that the right exception is thrown if (cmd.equals("load")) { String msg = "Failed to load agent library"; if (!message.isEmpty()) msg += ": " + message; throw new AgentLoadException(msg); } else { if (message.isEmpty()) message = "Command failed in target VM"; throw new AttachOperationFailedException(message); } } // return the input stream return in; } catch (IOException ioe) { closePipe(hPipe); throw ioe; } } // An InputStream based on a pipe to the target VM private class PipedInputStream extends InputStream { private long hPipe; public PipedInputStream(long hPipe) { this.hPipe = hPipe; } public synchronized int read() throws IOException { byte b[] = new byte[1]; int n = this.read(b, 0, 1); if (n == 1) { return b[0] & 0xff; } else { return -1; } } public synchronized int read(byte[] bs, int off, int len) throws IOException { if ((off < 0) || (off > bs.length) || (len < 0) || ((off + len) > bs.length) || ((off + len) < 0)) { throw new IndexOutOfBoundsException(); } else if (len == 0) return 0; return VirtualMachineImpl.readPipe(hPipe, bs, off, len); } public void close() throws IOException { if (hPipe != -1) { VirtualMachineImpl.closePipe(hPipe); hPipe = -1; } } } //-- native methods static native void init(); static native byte[] generateStub(); static native long openProcess(int pid) throws IOException; static native void closeProcess(long hProcess) throws IOException; static native long createPipe(String name) throws IOException; static native void closePipe(long hPipe) throws IOException; static native void connectPipe(long hPipe) throws IOException; static native int readPipe(long hPipe, byte buf[], int off, int buflen) throws IOException; static native void enqueue(long hProcess, byte[] stub, String cmd, String pipename, Object ... args) throws IOException; static { System.loadLibrary("attach"); init(); // native initialization stub = generateStub(); // generate stub to copy into target process } }
⏎ sun/tools/attach/VirtualMachineImpl.java
Or download all of them as a single archive file:
File name: jdk.attach-11.0.1-src.zip File size: 27192 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.charsets.jmod - Charsets Module
2020-08-13, 7817👍, 0💬
Popular Posts:
How to download and install Apache XMLBeans Source Package? The source package contains Java source ...
JDK 11 jdk.crypto.mscapi.jmod is the JMOD file for JDK 11 Crypto MSCAPI module. JDK 11 Crypto MSCAPI...
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.5.0-src.zip...
Commons Pool provides an Object-pooling API, with three major aspects: 1. A generic object pool inte...
commons-fileupload-1.3.3 -sources.jaris the source JAR file for Apache Commons FileUpload 1.3., whic...