(1)---(10)小结

1.IP地址(所有连入Internet的终端设备(包括计算机、PDA、打印机以及其他的电子设备)都有一个唯一的索引,这个索引被称为IP地址)   :IPv4,IPv6
2. InetAddress类:Java中用于描述IP地址的类, 由于InetAddress没有public的构造方法,因此,要想创建InetAddress对象,必须得依靠它的四个静态方法  (1)InetAddress可以通过getLocalHost方法得到本机的InetAddress对象
  (2)getByName:这个方法是InetAddress类最常用的方法。它可以通过指定域名从DNS中得到相应的IP地址。
  (3)getAllByName:使用getAllByName方法可以从DNS上得到域名对应的所有的IP。这个方法返回一个InetAddress类型的数组。
  (4)getByAddress:这个方法必须通过IP地址来创建InetAddress对象,而且IP地址必须是byte数组形式。
3.为什么不能直接通过IP访问网站 :服务端对此做了限制
4.DNS缓存 :当InetAddress类第一次使用某个域名(如www.csdn.net)创建InetAddress对象后,JVM就会将这个域名和它从DNS上获得的信息(如IP地址)都保存在DNS缓存中。当下一次InetAddress类再使用这个域名时,就直接从DNS缓存里获得所需的信息,而无需再访问DNS服务器,DNS缓存在默认时将永远保留曾经访问过的域名信息,但我们可以修改这个默认值
5.使用InetAddress类的getHostName方法获得域名
  (1)使用getLocalHost方法创建InetAddress对象:如果InetAddress对象是用getLocalHost方法创建的,getHostName返回的是本机名
  (2)使用域名创建InetAddress对象:用域名作为getByName和getAllByName方法的参数调用这两个方法后,系统会自动记住这个域名。当调用getHostName方法时,就无需再访问DNS服务器,而是直接将这个域名返回。
  (3)使用IP地址创建InetAddress对象(得到域名):使用IP地址创建InetAddress对象时(getByName、getAllByName和getByAddress方法都可以通过IP地址创建InetAddress对象),并不需要访问DNS服务器。因此,通过DNS服务器查找域名的工作就由getHostName方法来完成。如果这个IP地址不存在或DNS服务器不允许进行IP地址和域名的映射,getHostName方法就直接返回这个IP地址。
*******只有通过使用IP地址创建的InetAddress对象调用getHostName方法时才访问DNS服务器。在其他情况,getHostName方法并不会访问DNS服务器,而是直接将域名或本机名返回。
6.使用getCanonicalHostName方法获得主机名:getCanonicalHostName方法和getHostName方法一样,也是得到远程主机的域名。但它们有一个区别。getCanonicalHostName得到的是主机名,而getHostName得到的主机别名
  (1)使用getLocalHost创建InetAddress对象:在这种情况下getCanonicalHostName方法和getHostName方法得到的都是本机名  
  (2)使用域名创建InetAddress对象:
  (3)使用IP地址创建InetAddress对象:在这种情况下,getCanonicalHostName方法和getHostName方法是完全一样的,也就是说,它们得到的都是主机名,而不是主机别名。
7.用getHostAddress方法获得IP地址:这个方法用来得到主机的IP地址,这个IP地址可能是IPv4的地址,也可能是IPv6的地址。
8.用getAddress方法获得IP地址:getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址
9.使用isXxx方法判断地址类型:十个方法来确定一个IP地址是否是一个特殊的IP地址
10.Inet4Address类和Inet6Address类: 为了区分IPv4和IPv6地址,Java提供了两个类:Inet4Address和Inet6Address,它们都是InetAddress类的子类

时间: 2024-10-13 22:31:38

(1)---(10)小结的相关文章

Weekly 10 小结

A题 模拟 1 T = int(input()) 2 while T: 3 T -= 1 4 s = raw_input() 5 n = len(s) 6 res, pre = 0, 0 7 for i in xrange(1, n): 8 if (s[i] == s[pre]): 9 res += 1 10 else: 11 pre = i 12 print res B题 模拟 1 n, k = map(int, raw_input().split()) 2 s = raw_input() 3

计算机系统漫游

计算机系统由硬件系统和软件系统组成,它们共同协作来完成执行程序的任务.作为20世纪(世界上第一台计算机ENIAC与1946年诞生于美国的宾夕法尼亚大学)最伟大的发明之一,计算机系统可以说是人类迄今为止创造的最复杂最精密的工具.今天,借助计算机界的圣经教材<深入理解计算机系统>,我来带领大家探索一下计算机系统的秘密. 1 信息就是位 + 上下文 计算机是信息学科的产物,其主要左右就是帮助人们处理各种各样的信息.而信息本身是一个比较抽象的概念,从百度百科给出的定义中我们可以知道,信息是用来传输和处

C# LINQ 详解 From Where Select Group Into OrderBy Let Join

目录 1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. 概述 LINQ的全称是Language Integrated Query,中文译成"语言集成查询".LINQ作为一种查询技术,首先要解决数据源的封装,大致使用了三大组件来实现这个封装,分别是LINQ to Object.LINQ to ADO.NET.LINQ to XML.它们和.NET

深入理解计算机系统,第一章:漫游

计算机系统漫游 1.1 信息就是位+上下文 先看一个简单的Hello World C程序. 1 #include <stdio.h> 2 3 void main() 4 { 5 printf("Hello World!\n"); 6 } 这个程序的源文件是文本格式,以字节序列的方式存储在文件中,由一种叫ASCII码的方式编码.除了文本文件之外的其它文件都是二进制文件. 由HelloWorld程序的存储方式可以猜测,信息,包括磁盘文件.内存中运行的程序.内存中储存的用户数据以

C++学习笔记5 容器

1.  使用assign assign 操作首先删除容器中所有的元素,然后将其参数所指定的新元素插入到该容器中.与复制容器元素的构造函数一样,如果两个容器类型相同,其元 素类型也相同,就可以使用赋值操作符(=)将一个容器赋值给另一个容器.如果在不同(或相同)类型的容器内,元素类型不相同但是相互兼容,则其赋值运 算必须使用assign 函数.例如,可通过assign 操作实现将vector 容器中一段char* 类型的元素赋给string 类型list 容器. 由于assign 操作首先删除容器中

《现代操作系统(原书第3版)》pdf

下载地址:网盘下载 内容简介  · · · · · · 本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux.Windows Vista和Symbian操作系统的详细介绍.书中集中讨论了操作系统的基本原理,包括进程.线程.存储管理.文件系统.输入/输出.死锁等,同时还包含了有关计算机安全.多媒体操作系统.掌上计算机操作系统.微内核.多核处理机上的虚拟机以及操作系统设计等方面的内容.此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握. 本书适合作为高等院

Linq学习之旅——LINQ查询表达式

1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. 概述 LINQ的全称是Language Integrated Query,中文译成“语言集成查询”.LINQ作为一种查询技术,首先要解决数据源的封装,大致使用了三大组件来实现这个封装,分别是LINQ to Object.LINQ to ADO.NET.LINQ to XML.它们和.NET语言的关系如下:

Linux设备模型——设备驱动模型和sysfs文件系统解读

本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的platform驱动为例来进行讲解.其实,platform机制是基于driver-model的,通过本文,也会对platform机制有个简单的了解. 内核版本:2.6.30 1. What is sysfs? 个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应的驱动都是由内

OpenGl 绘制一个立方体

OpenGl 绘制一个立方体 为了绘制六个正方形,我们为每个正方形指定四个顶点,最终我们需要指定6*4=24个顶点.但是我们知道,一个立方体其实总共只有八个顶点,要指定24次,就意味着每个顶点其实重复使用了三次,这样可不是好的现象.最起码,像上面这样重复烦琐的代码,是很容易出错的.稍有不慎,即使相同的顶点也可能被指定成不同的顶点了. 如果我们定义一个数组,把八个顶点都放到数组里,然后每次指定顶点都使用指针,而不是使用直接的数据,这样就避免了在指定顶点时考虑大量的数据,于是减少了代码出错的可能性.