java.net

java.net.InetAddress

由于DNS查找的开销可能相当大,所以InetAddress类会缓存查找的结果。

可以使用系统属性networkaddress.cache.ttl和networkaddress.cache.negatice.ttl来控制。其中第一个属性制定了成功的DNS查找结果在Java缓存中保留的时间(秒数),第二个制定了不成功的查找结果缓存的时间(秒数)。在这些时限内,再次尝试查找相同的主机会返回相同的值。

URI、URL

URI是对URL的抽象,不仅包括统一资源定位符(Uniform Resource Locators,URL)还包括统一资源名(Uniform Resource Names,URN)。实际使用的URI大多是URL,但大多数规范和标准(如XML)都是用URI定义的。

URL和URI的区别:

  • URI类完全有关于资源的标识和URI的解析。他没有提供方法来获取URI所标识资源的标识。
  • 相比URL类,URI类与相关的规范更一致。
  • URI对象可以标识相对URI。URL类在存储URI之前会将其绝对化。

简而言之,URL对象是对应网路获取应用层协议的一个表示,而URI对象纯粹用于解析和处理字符串。URI类没有网络获取功能。一般而言,如果想下载一个URL的内容,应当使用URL类,如果想使用URL来完成标识而不是获取,就应当使用URI类。

URI

如果确信自己的URI是没错的话,(由于URI的构造函数还会抛出URISyntaxException异常)那么可以使用静态工厂方法URI.create()。

与URL规范不同的是,URI中使用的字符不限于ASCII。他可以使用其他Unicode字符。在语法上URI没有什么限制。

public String toString();
public String toASCIIString();

 toString()方法返回URI的未编码的字符串形式。因此,调用这个方法的结果不能保证是一个语法正确的URI,尽管是加上他是一个语法正确的URI。

toASCIIString()方法返回URI的编码的字符串形式。如ξ等字符总是会完成百分号转义。所以toASCIIString()方法总是返回语法正确的URI。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值