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:
JRE 8 rt.jar - java.* Package Source Code
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime environment included in JDK 8. JRE 8 rt.jar libraries are divided into 6 packages:
com.* - Internal Oracle and Sun Microsystems libraries java.* - Standard Java API libraries. javax.* - Extended Java API libraries. jdk.* - JDK supporting libraries. org.* - Third party libraries. sun.* - Old libraries developed by Sun Microsystems.
JAR File Information:
Directory of C:\fyicenter\jdk-1.8.0_191\jre\lib 63,596,151 rt.jar
Here is the list of Java classes of the java.* package in JRE 1.8.0_191 rt.jar. Java source codes are also provided.
✍: FYIcenter
⏎ java/net/TwoStacksPlainSocketImpl.java
/* * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.net; import java.io.IOException; import java.io.FileDescriptor; import sun.net.ResourceManager; /* * This class defines the plain SocketImpl that is used for all * Windows version lower than Vista. It adds support for IPv6 on * these platforms where available. * * For backward compatibility Windows platforms that do not have IPv6 * support also use this implementation, and fd1 gets set to null * during socket creation. * * @author Chris Hegarty */ class TwoStacksPlainSocketImpl extends AbstractPlainSocketImpl { /* second fd, used for ipv6 on windows only. * fd1 is used for listeners and for client sockets at initialization * until the socket is connected. Up to this point fd always refers * to the ipv4 socket and fd1 to the ipv6 socket. After the socket * becomes connected, fd always refers to the connected socket * (either v4 or v6) and fd1 is closed. * * For ServerSockets, fd always refers to the v4 listener and * fd1 the v6 listener. */ private FileDescriptor fd1; /* * Needed for ipv6 on windows because we need to know * if the socket is bound to ::0 or 0.0.0.0, when a caller * asks for it. Otherwise we don't know which socket to ask. */ private InetAddress anyLocalBoundAddr = null; /* to prevent starvation when listening on two sockets, this is * is used to hold the id of the last socket we accepted on. */ private int lastfd = -1; // true if this socket is exclusively bound private final boolean exclusiveBind; // emulates SO_REUSEADDR when exclusiveBind is true private boolean isReuseAddress; static { initProto(); } public TwoStacksPlainSocketImpl(boolean exclBind) { exclusiveBind = exclBind; } public TwoStacksPlainSocketImpl(FileDescriptor fd, boolean exclBind) { this.fd = fd; exclusiveBind = exclBind; } /** * Creates a socket with a boolean that specifies whether this * is a stream socket (true) or an unconnected UDP socket (false). */ protected synchronized void create(boolean stream) throws IOException { fd1 = new FileDescriptor(); try { super.create(stream); } catch (IOException e) { fd1 = null; throw e; } } /** * Binds the socket to the specified address of the specified local port. * @param address the address * @param port the port */ protected synchronized void bind(InetAddress address, int lport) throws IOException { super.bind(address, lport); if (address.isAnyLocalAddress()) { anyLocalBoundAddr = address; } } public Object getOption(int opt) throws SocketException { if (isClosedOrPending()) { throw new SocketException("Socket Closed"); } if (opt == SO_BINDADDR) { if (fd != null && fd1 != null ) { /* must be unbound or else bound to anyLocal */ return anyLocalBoundAddr; } InetAddressContainer in = new InetAddressContainer(); socketGetOption(opt, in); return in.addr; } else if (opt == SO_REUSEADDR && exclusiveBind) { // SO_REUSEADDR emulated when using exclusive bind return isReuseAddress; } else return super.getOption(opt); } @Override void socketBind(InetAddress address, int port) throws IOException { socketBind(address, port, exclusiveBind); } @Override void socketSetOption(int opt, boolean on, Object value) throws SocketException { // SO_REUSEADDR emulated when using exclusive bind if (opt == SO_REUSEADDR && exclusiveBind) isReuseAddress = on; else socketNativeSetOption(opt, on, value); } /** * Closes the socket. */ @Override protected void close() throws IOException { synchronized(fdLock) { if (fd != null || fd1 != null) { if (!stream) { ResourceManager.afterUdpClose(); } if (fdUseCount == 0) { if (closePending) { return; } closePending = true; socketClose(); fd = null; fd1 = null; return; } else { /* * If a thread has acquired the fd and a close * isn't pending then use a deferred close. * Also decrement fdUseCount to signal the last * thread that releases the fd to close it. */ if (!closePending) { closePending = true; fdUseCount--; socketClose(); } } } } } @Override void reset() throws IOException { if (fd != null || fd1 != null) { socketClose(); } fd = null; fd1 = null; super.reset(); } /* * Return true if already closed or close is pending */ @Override public boolean isClosedOrPending() { /* * Lock on fdLock to ensure that we wait if a * close is in progress. */ synchronized (fdLock) { if (closePending || (fd == null && fd1 == null)) { return true; } else { return false; } } } /* Native methods */ static native void initProto(); native void socketCreate(boolean isServer) throws IOException; native void socketConnect(InetAddress address, int port, int timeout) throws IOException; native void socketBind(InetAddress address, int port, boolean exclBind) throws IOException; native void socketListen(int count) throws IOException; native void socketAccept(SocketImpl s) throws IOException; native int socketAvailable() throws IOException; native void socketClose0(boolean useDeferredClose) throws IOException; native void socketShutdown(int howto) throws IOException; native void socketNativeSetOption(int cmd, boolean on, Object value) throws SocketException; native int socketGetOption(int opt, Object iaContainerObj) throws SocketException; native void socketSendUrgentData(int data) throws IOException; }
⏎ java/net/TwoStacksPlainSocketImpl.java
Or download all of them as a single archive file:
File name: jre-rt-java-1.8.0_191-src.zip File size: 6664831 bytes Release date: 2018-10-28 Download
⇒ JRE 8 rt.jar - javax.* Package Source Code
2023-08-23, 248108👍, 4💬
Popular Posts:
Apache Neethi provides general framework for the programmers to use WS Policy. It is compliant with ...
JDK 6 tools.jar is the JAR file for JDK 6 tools. It contains Java classes to support different JDK t...
How to perform XML Schema validation with dom\Writer.java provided in the Apache Xerces package? You...
JDK 11 jdk.jdeps.jmod is the JMOD file for JDK 11 JDeps tool, which can be invoked by the "jdeps" co...
How to perform XML Schema validation with sax\Writer.java provided in the Apache Xerces package? You...