易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA socket 关于DNS 缓存

在通过DNS查找域名的过程中,可能会经过多台中间DNS服务器才能找到指定的域名,因此,在DNS服务器上查找域名是非常昂贵的操作。在Java中为了缓解这个问题,提供了DNS缓存。当InetAddress类第一次使用某个域名(如www.csdn.net)创建InetAddress对象后,JVM就会将这个域名和它从DNS上获得的信息(如IP地址)都保存在DNS缓存中。当下一次InetAddress类再使用这个域名时,就直接从DNS缓存里获得所需的信息,而无需再访问DNS服务器。
    DNS缓存在默认时将永远保留曾经访问过的域名信息,但我们可以修改这个默认值。一般有两种方法可以修改这个默认值:
    1. 在程序中通过java.security.Security.setProperty方法设置安全属性networkaddress.cache.ttl的值(单位:秒)。如下面的代码将缓存超时设为10秒:
java.security.Security.setProperty("networkaddress.cache.ttl", 10);
    2. 设置java.security文件中的networkaddress.cache.negative.ttl属性。假设JDK的安装目录是C:\jdk1.6,那么java.security文件位于c:\jdk1.6\jre\lib\security目录中。打开这个文件,找到networkaddress.cache.ttl属性,并将这个属性值设为相应的缓存超时(单位:秒)。
    如果将networkaddress.cache.ttl属性值设为-1,那么DNS缓存数据将永远不会释放。下面的代码演示了使用和不使用DNS缓存所产生效果:
package mynet;
import java.net.*;
public class MyDNS
{
    public static void main(String[] args) throws Exception
    {
        // args[0]: 本机名 args[1]:缓冲时间
        if (args.length < 2)
            return;
        java.security.Security.setProperty("networkaddress.cache.ttl", args[1]);
        long time = System.currentTimeMillis();
        InetAddress addresses1[] = InetAddress.getAllByName(args[0]);
        System.out.println("addresses1:   "
        


相关文档:

Java 字符集编码

首先看清楚几种常用的字符集编码(java语言是采用unicode字符集编码来表示字符与字符串的):
  ASCII(American Standard Code for Information Interchange,美国信息互换标准代码),是基于常用的英文字符的一套电脑编码系统。我们知道英文中经常使用的字符、数字符号被计算机处理时都是以二进制码的形式出现的。这种二进 ......

java中String类的构造函数

String类中的构造函数
String(); 构造一个空字符串对象
String(byte[] bytes); 通过byte数组构造字符串对象
String(byte[] bytes,int offset,int length);通过byte数组,从offset开始,总共length长的字节构造字符串对象
String(char[] value); 通过char数组构造字符串对象
String(byte[] char,int offset,int length) ......

Java和.NET继续争斗的四大相关问题

【51CTO精选译文】在本篇文章中,著名程序员Justin James讨论了Java的未来,以及Java与.NET的开发成本对比,和Java是否能够取代.NET。Justin在文中总结了四大要点,重点关注了两个运行时在性能和成本上的异同之处。
1、Java SE 7遭遇.NET CLR会发生什么?
从Java SE 7的功能列表中可以看出,它相比以前版本有了长足提高。 ......

Java,计算网络地址

    好几天没写博客,这几天都忙着写代码,中期检查刚过,后面剩下的时间实际很少了,要抓紧时间了,马上就得毕业走人了。言归正传,在编码过程中遇到的问题,我都记录在博客中,方便以后查阅写论文。这次是计算网络地址,给出一个ip和它的子网掩码,通过运算得到网络地址(或者说是网络号)
public static ......

java计算时间差

java计算时间差
文章分类:Java编程
比如:现在是2004-03-26 13:31:40
过去是:2004-01-02 11:30:24
我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒
方法一:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
{
Date d1 = df.parse("2004-03-26 13:31:40"); ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号