时间:2021-05-19
本文实例讲述了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("");
}
}
希望本文所述对大家的Java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。Shiro
dns缓存,不过最近有位win7系统用户想要清理dns缓存,却发现dns缓存无法清理了,用户们不知道怎么回事,为此非常苦恼,那么win7电脑无法清除dns缓存如
dns缓存,不过最近有位win7系统用户想要清理dns缓存,却发现dns缓存无法清理了,用户们不知道怎么回事,为此非常苦恼,那么win7电脑无法清除dns缓存如
WIN10当中有是要经常清理缓存的,如果长时间不清理系统可能就会变得慢很多,特别是dns缓存,那么要如何清理呢,下面小编就来给大家介绍一下WIN10清理dns缓
swap清理:复制代码代码如下:swapoff-a&&swapon-a注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大cache清理:复制代