2011-06-27 6 views
3

現在、私はAndroidプロジェクトに取り組んでいます。私は疑問をjavaレベルを取り戻すDNSキャッシングがあります。検索を通じて、私はそれを達成することができます下記の機能を呼び出すことを知るようになりました。JavaレベルのDNSキャッシュの目的は何ですか?

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

これに基づいて、名前ルックアップデータをキャッシュするかどうかを指定します。このプロパティのために目的や影響を知りたい。

答えて

3

目的は、DNS要求を少なくすることです。これにより、ホスト名のIPがキャッシュ内にすべて存在するため、ダウンロードが高速になります。

これは、標準のネットワークライブラリに直接影響するJavaシステムのプロパティです。 JavaレベルのDNSキャッシングを調整することができます。

すべてのキャッシングでは、一部のDNSエントリが変更されたときにキャッシュが遅く更新されるなど、キャッシュが望ましくない場合があります。

テスト目的でのみ、0(キャッシュなし)または-1(キャッシュ永久)などの値を考慮します。

0

また、上記のようにプロパティを設定することはできません。使用する必要があるJVMについて

java.security.Security.setProperty( "networkaddress.cache.ttl"、 "10");

(Androidについてはわからない)

関連する問題