仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 587|回复: 11
打印 上一主题 下一主题

[学习教程] 来看Java收集编程从进门到精晓(5):利用InetAddress类的getHostName办法取得域 ...

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net网页编程的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。
该办法能够失掉远程主机的域名,也能够失掉本机名。getHostName办法的界说以下:
publicStringgetHostName()
上面是三种创立InetAddress对象的体例,在这三种体例中,getHostName前往的值是分歧的。
1.利用getLocalHost办法创立InetAddress对象
假如InetAddress对象是用getLocalHost办法创立的,getHostName前往的是本机名。以下面的代码所示:
InetAddressaddress=InetAddress.getLocalHost();
System.out.println(address.getHostName()); //输入本机名
2.利用域名创立InetAddress对象
用域名作为getByName和getAllByName办法的参数挪用这两个办法后,体系会主动记着这个域名。当挪用getHostName办法时,就无需再会见DNS服务器,而是间接将这个域名前往。以下面的代码所示:
InetAddressaddress=InetAddress.getByName("www.ckuyun.com");
System.out.println(address.getHostName()); //无需会见DNS服务器,间接前往域名
3.利用IP地点创立InetAddress对象
利用IP地点创立InetAddress对象时(getByName、getAllByName和getByAddress办法都能够经由过程IP地点创立InetAddress对象),其实不必要会见DNS服务器。因而,经由过程DNS服务器查找域名的事情就由getHostName办法来完成。假如这个IP地点不存在或DNS服务器不同意举行IP地点和域名的映照,getHostName办法就间接前往这个IP地点。以下面的代码所示:
InetAddressaddress=InetAddress.getByName("141.146.8.66");
System.out.println(address.getHostName()); //必要会见DNS服务器才干失掉域名
InetAddressaddress=InetAddress.getByName("1.2.3.4"); //IP地点不存在
System.out.println(address.getHostName()); //间接前往IP地点
从下面的三种情形能够看出,只要经由过程利用IP地点创立的InetAddress对象挪用getHostName办法时才会见DNS服务器。在其他情形,getHostName办法其实不会会见DNS服务器,而是间接将域名或本机名前往。上面的代码演示了在分歧情形下怎样利用getHostName办法,并盘算了各类情形所需的毫秒数。
packagemynet;

 importjava.net.*;

 publicclassDomainName
 {
     publicstaticvoidmain(String[]args)throwsException
     {
         longtime=0;
         //失掉本机名
         InetAddressaddress1=InetAddress.getLocalHost();
         System.out.println("本机名:"+address1.getHostName());
         //间接前往域名
         InetAddressaddress2=InetAddress.getByName("www.ckuyun.com");
         time=System.currentTimeMillis();
         System.out.print("间接失掉域名:"+address2.getHostName());
         System.out.println(" 所用工夫:"
                         +String.valueOf(System.currentTimeMillis()-time)+"毫秒");
         //经由过程DNS查找域名
         InetAddressaddress3=InetAddress.getByName("141.146.8.66");
         System.out.println("address3: "+address3); //域名为空
         time=System.currentTimeMillis();
         System.out.print("经由过程DNS查找域名:"+address3.getHostName());
         System.out.println(" 所用工夫:"+String.valueOf(System.currentTimeMillis()-time)+"毫秒");
         System.out.println("address3: "+address3); //同时输入域名和IP地点
     }
 }
运转了局:
本机名:ComputerName
间接失掉域名:www.ckuyun.com 所用工夫:0毫秒
address3: /141.146.8.66
经由过程DNS查找域名:bigip-otn-portal.oracle.com 所用工夫:92毫秒
address3: bigip-otn-portal.oracle.com/141.146.8.66
从下面的运转了局能够看出,第一个毫秒数是0,而第二个毫秒数是92。这说时,利用域名创立的InetAddress对象在利用getHostName办法时其实不会见DNS服务器,而利用IP地点创立的InetAddress对象在利用getHostName办法时必要会见DNS服务器。关于第三个毫秒数,大概屡次运转DomainName后会愈来愈小,这是由于DNS服务器的缓存的原因。但一样平常这个数城市比0年夜。大概有良多人会问,第二行和第四行失掉的域名怎样纷歧样,实在www.ckuyun.com和bigip-otn-portal.oracle.com都是oracle的域名,我们也能够经由过程http://bigip-otn-portal.oracle.com来会见oracle的官方网站。至于这两个域名有甚么区分,将鄙人面的文章中会商。

J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看net网页编程Beans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。
只想知道 该用户已被删除
沙发
发表于 2015-1-20 20:58:15 | 只看该作者
是一种为 Internet发展的计算机语言
小女巫 该用户已被删除
板凳
 楼主| 发表于 2015-1-26 21:30:12 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
莫相离 该用户已被删除
地板
发表于 2015-2-4 20:34:42 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
再现理想 该用户已被删除
5#
发表于 2015-2-10 07:23:46 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
再见西城 该用户已被删除
6#
发表于 2015-2-11 09:30:19 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
若相依 该用户已被删除
7#
发表于 2015-2-22 20:18:20 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-2-25 08:28:11 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
小妖女 该用户已被删除
9#
发表于 2015-3-3 18:16:59 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
深爱那片海 该用户已被删除
10#
发表于 2015-3-11 12:04:12 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
admin 该用户已被删除
11#
发表于 2015-3-18 10:13:28 | 只看该作者
是一种突破用户端机器环境和CPU
透明 该用户已被删除
12#
发表于 2015-3-25 15:40:16 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表