Java-API简析_java.net.Inet4Address类(基于 Latest JDK)(浅析源码)

news2025/1/22 14:55:50

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/132643590
出自【进步*于辰的博客】

因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述
  • 2、方法摘要
    • 2.1 boolean equals​(Object obj)
    • 2.2 byte[] getAddress()
    • 2.3 String getHostAddress()
    • 2.4 int hashCode()
    • 2.5 boolean isAnyLocalAddress()
    • 2.6 boolean isLinkLocalAddress()
    • 2.7 boolean isLoopbackAddress()
    • 2.8 boolean isMCGlobal()
    • 2.9 boolean isMCLinkLocal()
    • 2.10 boolean isMCNodeLocal()
    • 2.11 boolean isMCOrgLocal()
    • 2.12 boolean isMCSiteLocal()
    • 2.13 boolean isMulticastAddress()
    • 2.14 boolean isSiteLocalAddress()
  • 3、构造方法摘要(不开放)
    • 3.1 null
  • 4、方法摘要(出自实现类 Inet4AddressImpl)
    • 4.1 synchronized InetAddress anyLocalAddress()

1、概述

继承关系:

  • java.lang.Object
    • java.net.InetAddress
      • java.net.Inet4Address

所有已实现的接口:
Serializable

相关功能实现类:
Inet4AddressImpl


public final class Inet4Address extends InetAddress

此类表示 Internet Protocol version 4 (IPv4) 地址。此类是由 RFC 790:Assigned NumbersRFC 1918:Address Allocation for Private InternetsRFC 2365:Administratively Scoped IP Multicast 定义的。

IP 地址的文本表示形式

用作方法输入的 IPv4 地址的文本表示形式采取以下形式之一:

d.d.d.d 
d.d.d 
d.d 
d 

当指定四个部分时,将每个部分解释为一个数据字节,并从左到右分配给 IPv4 地址的四个字节。

当指定三部分地址时,将最后一个部分解释为 16 位量(主机地址),并放置在网络地址的最右边两个字节。这使得三部分地址格式便于将 Class B 网络地址指定为 128.net.host

当提供两部分地址时,将最后一个部分解释为 24 位量,并放置在网络地址的最右边三个字节。这使得两部分地址格式便于将 Class A 网络地址指定为 net.host

当仅给出一个部分时,值被直接存储在网络地址中,无需进行字节重排

对于将文本表示形式作为输出值返回的方法而言,使用第一种形式,即使用以点分隔的四个字符串。

多播地址的范围

在历史上,IP 头中的 IPv4 生存时间 (Time To Live, TTL) 字段已作为多播范围字段增大了一倍:TTL 为 0 表示节点本地 (node-local),1 表示链接本地 (link-local),32 表示站点本地 (site-local),64 表示地区本地 (region-local),128 表示大陆本地 (continent-local),255 表示全球。但是,首选范围是行政管理范围 (administrative scoping)。请参阅 RFC 2365:Administratively Scoped IP Multicast

另请参见:
序列化表格

2、方法摘要

2.1 boolean equals​(Object obj)

将此对象与指定的对象进行比较。

2.2 byte[] getAddress()

返回此 InetAddress对象的原始IP地址。

2.3 String getHostAddress()

以文本表示形式返回IP地址字符串。

2.4 int hashCode()

返回此IP地址的哈希码。

2.5 boolean isAnyLocalAddress()

用于检查InetAddress是否为通配符地址的实用例程。

2.6 boolean isLinkLocalAddress()

用于检查InetAddress是否为链接本地地址的实用程序例程。

2.7 boolean isLoopbackAddress()

用于检查InetAddress是否为环回地址的实用例程。

2.8 boolean isMCGlobal()

用于检查多播地址是否具有全局范围的实用例程。

2.9 boolean isMCLinkLocal()

用于检查多播地址是否具有链接范围的实用例程。

2.10 boolean isMCNodeLocal()

用于检查多播地址是否具有节点范围的实用例程。

2.11 boolean isMCOrgLocal()

用于检查多播地址是否具有组织范围的实用例程。

2.12 boolean isMCSiteLocal()

用于检查多播地址是否具有站点范围的实用程序例程。

2.13 boolean isMulticastAddress()

用于检查InetAddress是否为IP多播地址的实用程序例程。

2.14 boolean isSiteLocalAddress()

用于检查InetAddress是否为站点本地地址的实用程序例程。

3、构造方法摘要(不开放)

3.1 null

构造一个默认基本信息的 IPv4 地址。
说明:
先看源码。
在这里插入图片描述
关于holder(),见父类InetAddress类的第5.6项。

4、方法摘要(出自实现类 Inet4AddressImpl)

4.1 synchronized InetAddress anyLocalAddress()

先看源码。
在这里插入图片描述
相应构造方法见第3.1项。


本文暂缓更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/966286.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023开学礼新疆财经大学图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》许少辉新财经理工

2023开学礼新疆财经大学图书馆藏八一新书《乡村振兴战略下传统村落文化旅游设计》许少辉新财经理工

【经济研究】论文《经济ZC不确定性与创新》数据复现

数据简介:当前宏观经济面临较大下行压力,需要“稳中求进”兼顾经济高质量发展与经济增速等多种目标,这就不可避免地导致各种经济ZC的频繁调整,产生不确定性风险。在此背景下,经济政策不确定性上升如何影响企业决策&…

无涯教程-JavaScript - RANK函数

RANK函数取代了Excel 2010中的RANK.EQ函数。 描述 该函数返回数字列表中数字的等级。数字的等级是其相对于列表中其他值的大小。 如果对列表进行排序,则数字的排名将是其位置。 语法 RANK (number,ref,[order])争论 Argument描述Required/OptionalNumberThe number whose…

c++11 标准模板(STL)(std::basic_stringstream)(四)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_stringstream;(C11 前)template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::alloc…

C++插入加密,替代加密

void 插入加密() {//缘由https://bbs.csdn.net/topics/396047473int n 1, j 0;char aa[60]{}, aaa[] "abcde";cin >> aa;while (j < 60 && (aa[j] - \0))cout << aa[j] << aaa[j % 5]; } void 插入加密() {//缘由https://bbs.csdn.n…

如何快速掌握一门新技术,有什么独特的学习方法和技巧可以分享吗?

今日话题&#xff1a;如何快速掌握一门新技术&#xff0c;有什么独特的学习方法和技巧可以分享吗&#xff1f; 这个话题引起了我的思考和总结&#xff0c;现在的技术这么多&#xff0c;我们该如何高效的学习呢&#xff1f;我先总结一下我所了解的技术和学习的路径。 我的技术栈…

【Maven教程】(四)坐标与依赖:坐标概念,依赖配置、范围、传递性和最佳实践 ~

Maven 坐标与依赖 1️⃣ 什么是Maven 坐标2️⃣ 坐标详解3️⃣ 依赖的配置4️⃣ 依赖范围5️⃣ 传递性依赖6️⃣ 依赖调解7️⃣ 可选依赖8️⃣ 最佳实践8.1 排除依赖8.2 归类依赖8.3 优化依赖 &#x1f33e; 总结 正如前面文章所述&#xff0c;Maven 的一大功能是管理项目依赖…

【首发评测】国产大模型真落地,我用这5个问题为难了它们,结果你意想不到...

出品 | 网易科技《智见焦点》 作者 | 赵芙瑶 编辑 | 丁广胜 大模型的风暴席卷全球&#xff0c;然而对于普通C端用户来说&#xff0c;国产大模型的内测邀请码却总是“一码难求”&#xff0c;即使开放申请体验&#xff0c;排队时长也难以预估。 然而就在今日&#xff0c;备受行业…

2023面试系列 线程池用过居然不知道底层原理,啥也不是!

1.为什么使用线程池&#xff1a; 1. 减少线程频繁的创建跟销毁带来的性能消耗 2. 便于管理线程 3. 提高响应速度&#xff08;不用等待线程创建&#xff09; 4. 能提供更多的功能 2.线程池的创建方式&#xff1a; 通过Executors创建 通过ThreadPoolExecutor创建&#xff08…

【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(上)

前言 今天&#xff0c;小编我也要进入计算机网络的整个内容&#xff0c;虽然这个计算机网络的内容在考研部分中占比比较小&#xff0c;有些人不把这一部分当成重点&#xff0c;这种想法是错误的。我觉得考研的这四个内容都是非常重要的&#xff0c;我们需要进行全力以赴的对待每…

【C++】异常处理详解

本篇文章重点将会对C中的异常的相关处理操作进行详解。希望本篇文章的内容会对你有所帮助。 目录 一、C语言的异常处理 二、C异常 2、1 异常概念 2、2 异常的使用 2、3 异常类 2、4 异常的重新抛出 三、异常的安全与规范 3、1 异常的安全 3、2 异常的规范 四、异常的优缺点 &am…

如何使用CSS实现一个带有动画效果的折叠面板(Accordion)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 带有动画效果的折叠面板&#xff08;Accordion&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个…

FPGA时序分析与约束(4)——时序分析,时序约束,时序收敛

一、前言 在之前的文章中&#xff0c;我们介绍了组合电路的时序和时序电路的时序问题&#xff0c;之后又把理想化的时钟变成了实际的时钟考虑了进来&#xff0c;在阅读本文之前&#xff0c;强烈推荐优先阅读本系列之前的文章&#xff0c;毕竟这是我们继续学习的基础&#xff0c…

Elasticsearch 8.X 可以按照数组下标取数据吗?

1、线上环境问题 老师、同学们&#xff0c;有人遇到过这个问题么&#xff0c;索引中有一个 integer 数组字段&#xff0c;然后通过脚本获取数组下标为1的值作为运行时字段&#xff0c;发现返回的值是乱的&#xff0c;并不是下标为1的值&#xff0c; 具体如下: DELETE my_index …

36岁男子自称被裁,曾是前500强公司市场总监,最后接受做外买

(点击即可收听) 最近有一个新闻,上了头条,36岁男子自称被裁,是前500强公司市场总监,一年没找到工作,以前不信年龄是道坎 以为自己的经验和履历,能在找到一份相匹配的工作不成问题 但是现实却很残酷,一年后,仍然没有找到对口的工作,即使降低了薪资标准,可依旧找不到 都说疫情前难…

逻辑回归Logistic

回归 概念 假设现在有一些数据点&#xff0c;我们用一条直线对这些点进行拟合&#xff08;这条直线称为最佳拟合直线&#xff09;&#xff0c;这个拟合的过程就叫做回归。进而可以得到对这些点的拟合直线方程。 最后结果用sigmoid函数输出 因此&#xff0c;为了实现 Logisti…

3D视觉测量:形位公差 面对面垂直度(附源码)

文章目录 0. 测试效果1. 基本内容2. 实现方法2. 代码实现3. 参考文章目录:3D视觉测量目录微信:dhlddxB站: Non-Stop_0. 测试效果 1. 基本内容 垂直度用于描述被测要素相对基准(面/轴)的垂直(90)程度。是一个表面或轴线与一个基准面(通常是垂直于图纸纸面的一个面)之间的…

Leetcode 16.07 最大数值

编写一个方法&#xff0c;找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。 示例&#xff1a; 输入&#xff1a; a 1, b 2 输出&#xff1a; 2 我的答案&#xff1a; 为了找出两个数中的较大者&#xff0c;而不使用比较或条件语句&#xff0c;我们可以…

Linux常用命令——cupsdisable命令

在线Linux命令查询工具 cupsdisable 停止指定的打印机 补充说明 cupsdisable命令用于停止指定的打印机。 语法 cupsdisable(选项)(参数)选项 -E&#xff1a;当连接到服务器时强制使用加密&#xff1b; -U&#xff1a;指定连接服务器时使用的用户名&#xff1b; -u&#…

【无公网IP内网穿透】异地远程访问本地SQL Server数据库

目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿透的注册 3.本地网页发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 1.前言 数据库的重要性相信大家…