Java级DNS缓存的目的是什么?

Java级DNS缓存的目的是什么?,java,android,caching,dns,Java,Android,Caching,Dns,目前我正在从事一个Android项目。我对重新分级java级别DNS缓存有疑问。通过搜索,我知道通过调用下面提到的函数,我们可以实现它 System.setProperty( "networkaddress.cache.ttl", "0" ); System.setProperty( "networkaddress.cache.negative.ttl", "0" ); 基于此,它缓存名称查找数据或不缓存名称查找数据。我想知道该物业的用途或影响 目的是减少DNS请求。这会加快下载速度,因为

目前我正在从事一个
Android
项目。我对重新分级java级别DNS缓存有疑问。通过搜索,我知道通过调用下面提到的函数,我们可以实现它

 System.setProperty( "networkaddress.cache.ttl", "0" );
 System.setProperty( "networkaddress.cache.negative.ttl", "0" );

基于此,它缓存名称查找数据或不缓存名称查找数据。我想知道该物业的用途或影响

目的是减少DNS请求。这会加快下载速度,因为主机名的IP已在缓存中准备就绪

这是直接影响标准网络库的Java系统属性。它允许您调整Java级别的DNS缓存

与所有缓存一样,缓存有时也会产生不期望的效果,例如当某些DNS条目发生更改时,缓存会延迟更新


我考虑值0(无缓存)或-1(Cache永远)仅用于测试目的。 另外,我认为您不能像上面那样设置属性。在需要使用的JVM上

java.security.security.setProperty(“networkaddress.cache.ttl”,“10”)

(对Android不太清楚)