java DNS 缓存时间(成功时间和失败时间)代码
来源:互联网 发布:数据透视表 值 合计 编辑:程序博客网 时间:2024/06/06 15:33
java 中的DNS默认成功保存时间 30 s,失败时间 10s
import java.lang.reflect.Field;import java.net.InetAddress;import java.net.UnknownHostException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.Map;public class MyClass {public static void main(String[] args) throws Exception {Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); InetAddress.getByName("www.baidu.com"); try { InetAddress.getByName("www.baiduxxx.com"); } catch (UnknownHostException e) { } System.out.println("current time:" + sdf.format(d)); String addressCache = "addressCache"; System.out.println(addressCache); printDNSCache(addressCache); String negativeCache = "negativeCache"; System.out.println(negativeCache); printDNSCache(negativeCache); } private static void printDNSCache(String cacheName) throws Exception { Class<InetAddress> klass = InetAddress.class; Field acf = klass.getDeclaredField(cacheName); acf.setAccessible(true); Object addressCache = acf.get(null); Class<?> cacheKlass = addressCache.getClass();//catchEntry Field cf = cacheKlass.getDeclaredField("cache"); cf.setAccessible(true);//LinkedHashMap<String, CacheEntry> Map<String, Object> cache = (Map<String, Object>) cf.get(addressCache); for (Map.Entry<String, Object> hi : cache.entrySet()) { Object cacheEntry = hi.getValue(); Class<?> cacheEntryKlass = cacheEntry.getClass(); Field expf = cacheEntryKlass.getDeclaredField("expiration"); expf.setAccessible(true); long expires = (Long) expf.get(cacheEntry); Field af = cacheEntryKlass.getDeclaredField("addresses"); af.setAccessible(true); InetAddress[] addresses = (InetAddress[]) af.get(cacheEntry); List<String> ads = new ArrayList<String>(addresses.length); for (InetAddress address : addresses) { ads.add(address.getHostAddress()); } System.out.println(hi.getKey() + " "+new Date(expires) +" " +ads); }}}
阅读全文
0 0
- java DNS 缓存时间(成功时间和失败时间)代码
- 浏览器、操作系统DNS缓存时间
- 浏览器、操作系统DNS缓存时间
- 修改浏览器DNS缓存时间、清除系统DNS缓存
- DNS缓存记录与域名解析生效时间
- 主流操作系统、浏览器DNS缓存时间
- JVM如何设置DNS缓存失效时间
- java中获取系统时间--时间缓存
- (转)李嘉诚:成功源于花90%时间考虑失败
- 随机时间(java代码)
- java时间函数代码
- java获取时间代码
- Java Date时间代码
- 修改DNS缓存TTL生存时间的生效期
- java日期和时间
- java 日期和时间
- java 日期和时间
- Java日期和时间
- 配置MS SQL Server用户权限
- 路由-标签切换格式2
- gas-station Java code
- 2017-10-19离线赛总结
- iOS点击空白处或点击背景收起键盘
- java DNS 缓存时间(成功时间和失败时间)代码
- UVa 10859 Placing Lampposts
- [待总结整理]python笔记
- QT程序打包发布
- svn安装
- 这可能是最好的性能优化教程(一)
- 阮兄弟的致远OAa8v5移动端增加功能和OEM实例
- 快速排序
- Java中获取文件大小的正确方法