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 17 java.base.jmod - Base Module
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module.
JDK 17 Base module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.base.jmod.
JDK 17 Base module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Base module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.base.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/net/DefaultInterface.java
/* * Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.net; /** * Choose a network interface to be the default for * outgoing IPv6 traffic that does not specify a scope_id (and which needs one). * We choose the first interface that is up and is (in order of preference): * 1. neither loopback nor point to point * 2. point to point * 3. loopback * 4. none. * Platforms that do not require a default interface implement a dummy * that returns null. */ import java.security.AccessController; import java.security.PrivilegedAction; import java.util.Enumeration; import java.io.IOException; class DefaultInterface { private static final NetworkInterface defaultInterface = chooseDefaultInterface(); static NetworkInterface getDefault() { return defaultInterface; } /** * Choose a default interface. This method returns the first interface that * is both "up" and supports multicast. This method chooses an interface in * order of preference, using the following algorithm: * * <pre> * Interfaces that are down, or don't support multicasting, are skipped. * In steps 1-4 below, PPP and loopback interfaces are skipped. * * 1. The first interface that has at least an IPv4 address, and an IPv6 address, * and a non link-local IP address, is picked. * * 2. If none is found, then the first interface that has at least an * IPv4 address, and an IPv6 address is picked. * * 3. If none is found, then the first interface that has at least a * non link local IP address is picked. * * 4. If none is found, then the first non loopback and non PPP interface * is picked. * * 5. If none is found then first PPP interface is picked. * * 6. If none is found, then the first loopback interface is picked. * * 7. If none is found, then null is returned. * </pre> * * @return the chosen interface or {@code null} if there isn't a suitable * default */ private static NetworkInterface chooseDefaultInterface() { Enumeration<NetworkInterface> nifs; try { nifs = NetworkInterface.getNetworkInterfaces(); } catch (IOException ignore) { // unable to enumerate network interfaces return null; } NetworkInterface preferred = null; NetworkInterface dual = null; NetworkInterface nonLinkLocal = null; NetworkInterface ppp = null; NetworkInterface loopback = null; while (nifs.hasMoreElements()) { NetworkInterface ni = nifs.nextElement(); try { if (!ni.isUp() || !ni.supportsMulticast()) continue; boolean ip4 = false, ip6 = false, isNonLinkLocal = false; PrivilegedAction<Enumeration<InetAddress>> pa = ni::getInetAddresses; @SuppressWarnings("removal") Enumeration<InetAddress> addrs = AccessController.doPrivileged(pa); while (addrs.hasMoreElements()) { InetAddress addr = addrs.nextElement(); if (!addr.isAnyLocalAddress()) { if (addr instanceof Inet4Address) { ip4 = true; } else if (addr instanceof Inet6Address) { ip6 = true; } if (!addr.isLinkLocalAddress()) { isNonLinkLocal = true; } } } boolean isLoopback = ni.isLoopback(); boolean isPPP = ni.isPointToPoint(); if (!isLoopback && !isPPP) { // found an interface that is not the loopback or a // point-to-point interface if (preferred == null) { preferred = ni; } if (ip4 && ip6) { if (isNonLinkLocal) return ni; if (dual == null) dual = ni; } if (nonLinkLocal == null) { if (isNonLinkLocal) nonLinkLocal = ni; } } if (ppp == null && isPPP) ppp = ni; if (loopback == null && isLoopback) loopback = ni; } catch (IOException skip) { } } if (dual != null) { return dual; } else if (nonLinkLocal != null) { return nonLinkLocal; } else if (preferred != null) { return preferred; } else { return (ppp != null) ? ppp : loopback; } } }
⏎ java/net/DefaultInterface.java
Or download all of them as a single archive file:
File name: java.base-17.0.5-src.zip File size: 8883851 bytes Release date: 2022-09-13 Download
2023-09-26, 86996👍, 1💬
Popular Posts:
How to download and install JDK (Java Development Kit) 8? If you want to write Java applications, yo...
Jaxen, Release 1.1.1, is an open source XPath library written in Java. It is adaptable to many diffe...
Commons Pool provides an Object-pooling API, with three major aspects: 1. A generic object pool inte...
Java Architecture for XML Binding (JAXB) is a Java API that allows Java developers to map Java class...
JDK 11 jdk.internal.opt.jmod is the JMOD file for JDK 11 Internal Opt module. JDK 11 Internal Opt mo...