激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - java實現清理DNS Cache的方法

java實現清理DNS Cache的方法

2019-12-08 19:09shichen2014 JAVA教程

這篇文章主要介紹了java實現清理DNS Cache的方法,分析了幾種常用的清理方法,并給出了反射清理的完整實例,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了java實現清理DNS Cache的方法。分享給大家供大家參考。具體分析如下:

一、測試環境

OS:Windows7 x64

JDK:1.6.0_45

二、本人找到四種方式清理jvm的DNS緩存,大家可以根據自己的情況選用。

1. 在首次調用InetAddress.getByName()前,設置java.security.Security.setProperty("networkaddress.cache.ttl", "0");
2. 修改jre/lib/security/java.security 下的 networkaddress.cache.ttl 屬性
3. jvm啟動參數中設置-Dsun.net.inetaddr.ttl=0
4. 通過反射清理,如本文的clearCache方法

三、代碼

復制代碼代碼如下:
package xiaofei;  
  
import java.lang.reflect.Field;  
import java.net.InetAddress;  
import java.net.UnknownHostException;  
import java.util.Map;  
  
/** 
* @author xiaofei.wxf 
* @date 13-12-18 
*/  
public class DNSCacheTest {  
    /** 
     * 1. 在首次調用InetAddress.getByName()前,設置java.security.Security.setProperty("networkaddress.cache.ttl", "0"); 
     * 2. 修改jre/lib/security/java.security 下的 networkaddress.cache.ttl 屬性 
     * 3. jvm啟動參數中設置-Dsun.net.inetaddr.ttl=0 
     * 4. 調用clearCache方法清除 
     * 
     * @param args 
     * @throws UnknownHostException 
     */  
    public static void main(String[] args) throws UnknownHostException, NoSuchFieldException, IllegalAccessException {  
        java.security.Security.setProperty("networkaddress.cache.ttl", "0");  
        InetAddress addr1 = InetAddress.getByName("www.baidu.com");  
        System.out.println(addr1.getHostAddress());  
        //clearCache();  
        //在下一行設置斷點.  
        //放在此處無效,因為類加載的時候就確定了這個值(應該在使用InetAddress.getByName之前設置)已經緩存了cache  
        //java.security.Security.setProperty("networkaddress.cache.ttl", "0");  
        InetAddress addr2 = InetAddress.getByName("www.baidu.com");  
        System.out.println(addr2.getHostAddress());  
        InetAddress addr3 = InetAddress.getByName("www.google.com");  
        System.out.println(addr3.getHostAddress());  
        InetAddress addr4 = InetAddress.getByName("www.google.com");  
        System.out.println(addr4.getHostAddress());  
        //clearCache();  
    }  
  
    public static void clearCache() throws NoSuchFieldException, IllegalAccessException {  
        //修改緩存數據開始  
        Class clazz = java.net.InetAddress.class;  
        final Field cacheField = clazz.getDeclaredField("addressCache");  
        cacheField.setAccessible(true);  
        final Object obj = cacheField.get(clazz);  
        Class cacheClazz = obj.getClass();  
        final Field cachePolicyField = cacheClazz.getDeclaredField("type");  
        final Field cacheMapField = cacheClazz.getDeclaredField("cache");  
        cachePolicyField.setAccessible(true);  
        cacheMapField.setAccessible(true);  
        final Map cacheMap = (Map)cacheMapField.get(obj);  
        System.out.println(cacheMap);  
        cacheMap.remove("www.baidu.com");  
    }  
}

 

希望本文所述對大家的Java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
531
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 欧美日韩国产一区二区三区在线观看 | 国产露脸精品爆浆视频 | 国产免费www | 国产精品久久久久久影院8一贰佰 | 国产视频在线播放 | 主人在调教室性调教女仆游戏 | 狠狠ri | 99日韩精品视频 | 一区二区三高清 | 免费人成年短视频在线观看网站 | 欧美精品18 | 免费一级毛片在线播放视频 | 极品大长腿啪啪高潮露脸 | 亚州精品国产 | 黄色久 | 高清国产午夜精品久久久久久 | 操嫩草| 中文字幕 欧美 日韩 | 韩国三级日本三级香港三级黄 | 日韩一级免费毛片 | 久久免费精品 | 精品久久久久久亚洲精品 | 一本色道久久综合亚洲精品图片 | 毛片免费看电影 | h视频在线观看免费 | 麻豆传传媒久久久爱 | 国产一级毛片高清视频 | 亚洲欧美国产高清va在线播放 | 国产精品久久久毛片 | 毛片免费观看视频 | 久久电影一区二区 | 操操操日日日干干干 | 久久亚洲精品久久国产一区二区 | 成人一级免费 | 91看片www| 泰剧19禁啪啪无遮挡大尺度 | 亚洲欧美成aⅴ人在线观看 av免费在线播放 | 久久国产中文 | 国产一区二区三区在线免费 | 久久综合精品视频 | 黄色网战在线观看 |