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

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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.mzph.cn/news/65622.shtml

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

相关文章

Ansible学习笔记8

group模块: 创建一个group组: [rootlocalhost ~]# ansible group1 -m group -a "nameaaa gid5000" 192.168.17.105 | CHANGED > {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}…

Linux线程控制

目录 一、线程创建 1.1 pthread_create 1.2 线程传入启动函数参数方式 二、线程退出(pthread_exit函数 pthread_cancel函数) 三、线程等待 3.1 为什么要线程等待? 3.2 pthread_join函数 四、线程分离 4.1 pthread_detach() 和 pthread_self() 五、pthread库…

Gteam2.0免授权毛玻璃拟态UI带后台版本修复版

程序使用PHP7版本运行 后台信息/Admin 账号admin 密码123456 后台功能 多管理员、系统日志等等功能

机器学习---决策树的划分依据(熵、信息增益、信息增益率、基尼值和基尼指数)

1. 熵 物理学上,熵 Entropy 是“混乱”程度的量度。 系统越有序,熵值越低;系统越混乱或者分散,熵值越⾼。 1948年⾹农提出了信息熵(Entropy)的概念。 从信息的完整性上进⾏的描述:当系统的有序…

Ansible 自动化运维工具的使用

目录 一、Ansible简介 二、Ansible 的安装和使用 1.下载 2.使用 三、Ansible命令和模块 1.命令格式 2.命令行模块 (1)command 模块 (2)shell 模块 (3)cron 模块 (4)user 模…

Flink 如何处理反压?

分析&回答 什么是反压(backpressure) 反压通常是从某个节点传导至数据源并降低数据源(比如 Kafka consumer)的摄入速率。反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而…

【IIS搭建网站】本地电脑做服务器搭建web站点并公网访问「内网穿透」

1.前言 在网上各种教程和介绍中,搭建网页都会借助各种软件的帮助,比如网页运行的Apache和Nginx、数据库软件MySQL和MSSQL之类,为方便用户使用,还出现了XAMPP、PHPStudy、宝塔面板等等一系列集成服务,都是为了方便我们…

linux并发服务器 —— 多进程并发 - 进程间的通信及实践(五)

进程间的通信 进程是一个独立的资源分配单元,不能在一个进程中直接访问另一个进程的资源; 进程间通信(IPC)的目的: 1. 数据传输 - A进程发送数据给B进程 2. 通知事件 - eg. 进程终止通知父进程 3. 资源共享 - 多个…

go语言 go mod生成

1. go hello world 创建文件夹gotest,在其中创建test1.go文件,并写入 package mainimport ("fmt" )func main() {fmt.Println("hello world") } 运行命令 go run test1.go 可以看到输出hello world 2. cli 命令行的使用 代码如下…

机器人中的数值优化(六)—— 线搜索最速下降法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,…

重新理解百度智能云:写在大模型开放后的24小时

在这些回答背后共同折射出的一个现实是——大模型不再是一个单选题,而更是一个综合题。在这个新的时代帆船上,产品、服务、安全、开放等全部都需要成为必需品,甚至是从企业的落地层面来看,这些更是刚需品。 作者| 皮爷 出品|产…

c语言每日一练(13)

前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,上学期间将看学业情况更新。 五道选择题: 1、程序运行的结果…

Go死码消除

概念: 死码消除(dead code elimination, DCE) 是一种编译器优化技术, 作用是在编译阶段去掉对程序运行结果没有任何影响的代码 和 逃逸分析[1],内联优化[2]并称为 Go编译器执行的三个重要优化 效果: 对于 const.go代码如下: package mainimport "fmt"func max(a, b i…

一篇文章教会你如何编写一个简单的Shell脚本

文章目录 简单Shell脚本编写1. 简单脚本编写2. Shell脚本参数2.1 Shell脚本参数判断2.1.1 文件测试语句2.1.2 逻辑测试语句2.1.3 整数值测试语句2.1.4 字符串比较语句 3. Shell流程控制语句3.1 if 条件测试语句3.1.1 if...3.1.2 if...else...3.1.3 if...elif...else 4. Shell脚…

汽车自适应巡航系统控制策略研究

目 录 第一章 绪论 .............................................................................................................................. 1 1.1 研究背景及意义 ..........................................................................................…

文件夹中lib,dll含义

.dll文件是动态链接库(Dynamic Link Library)的缩写,它包含了一组可执行的函数和数据,供程序调用。它可以被多个应用程序共享和重用,减少了代码的冗余。通过动态链接库,可以实现代码的模块化和提高代码的复…

ELK安装、部署、调试(五)filebeat的安装与配置

1.介绍 logstash 也可以收集日志,但是数据量大时太消耗系统新能。而filebeat是轻量级的,占用系统资源极少。 Filebeat 由两个主要组件组成:harvester 和 prospector。 采集器 harvester 的主要职责是读取单个文件的内容。读取每个文件&…

机器学习技术(六)——有监督学习算法之线性回归算法实操

机器学习技术(五)——有监督学习之线性回归算法实操 引言: 机器学习监督算法是一种基于已有标记数据的学习方法,通过对已知输入和输出数据的学习,建立一个模型来预测新的输入数据的输出。这种算法模仿人类的学习过程&a…

安防监控/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?

安防监控/云存储/磁盘阵列存储/视频汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RT…

docker 笔记2 Docker镜像和数据卷

参考: 1.镜像是什么?(面试题) 是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文…