JAVA网页设计Java Network Programming 条记(2)
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的条记JavaNetworkProgramming条记n5
二查找Internet地点
Chapter6LookingupInternetAddresses
java.net.InetAddress类是java对IP地点的封装,这个类被其他年夜多半收集类利用,包含Socket,ServerSocket,URL,DatagramSocket,DatagramPacket。
该类中包括hostName和address,但不是public的。
1取得InetAddress对象
InetAddress类没有私有机关器,经由过程三个static办法可失掉InetAddress对象:
publicstaticInetAddressInetAddress.getByName(StringhostName)throwsUnknownHostException
publicstaticInetAddress[]InetAddress.getAllByName(StringhostName)throwsUnknownHostException
publicstaticInetAddressInetAddress.getLocalHost()throwsUnknownHostException
这三个办法会举行收集毗连往失掉它们必要的一切信息。类中的其他办法如getAddress()和getHostName()利用这3个办法供应的信息而不举行收集毗连,不外十分小的情形它们也会毗连收集但不抛出任何非常。
参数hostName能够是网址如www.xxx.com也能够是字符串情势的点分IP地点如10.2.3.4
Java1.1今后,假如用IP地点做参数,将依据这个IP地点创立一个InetAdress对象,而不利用DNS反省。这便可能创立一个主机其实不存在的InetAddress对象。利用这类办法创立的InetAddress对象,主机名(hostName)被初始化为点分IP地点。只要当hostname被哀求时(显现的如挪用getAddress(),隐式的如挪用toString()),DNS才会反省实践的主机名,假如DNS反省发明指定的IP地点找不到,则hostname保存为本来的点分IP地点,而不会抛出UnknownHostException
HostName比IP地点不乱,关于一个主机HostName常常稳定而IP地点大概变更,以是最好利用hostname做参数,而只要当主机没有hostname时才利用点分ip地点。
有些主机有不止一个IP地点,利用getAllByName()能够以数组的情势失掉某主机名对应的一切IP地点。
getLocalHost()取得本机的InetAddress对象
2取得信息
publicStringgetHostName()
能够失掉hostname,出格是用点分IP地点作为参数失掉InetAddress对象时可用getHostName失掉hostname.
publicStringgetHostAddress()
失掉点分IP地点字符串,可用这个办法打印出IP地点
publicbyte[]getAddress()
失掉IP地点,存储在byte数组中,好比IPv4格局的IP地点10.2.3.4会失掉长度为4的数组ip,则ip=10,ip=2,ip=3,ip=4;如果IPv6,则数组长度就不是4了
注重,前往的byte应当是无标记的,0~255,但java的byte是以带标记的。年夜于127的byte被看做正数。因而,应当用int(或short等)寄存ip地点的每个数字,并做响应的调剂
intunsignedByte=signedByte<0?singedByte+256:singedByte;
3
publicbooleanequals(Objecto)
一个Object对象equalsto一个InetAddress对象的前提是该Object是InetAddress类的一个实例而且它们具有不异的IP地点。equals不必要hostname不异。
4例程HostLookup.java
进而能拉拢大多数程序员用windows产品。并且从ASP.NETAJAX可以跨平台这一点上,间接证明了我们的推断,至少证明了微软做过这方面的研究。所以如果哪一天突然听说了.net可以跨平台了,那么请不要吃惊,如果这一天真的到来,java就到了真正和.net决战的时刻。因为不到万不得以的时候微软是不会推出跨平台的.net的,如果跨平台的.net还不足以对抗java的话,那么微软还剩的手段就是开源了,呵呵。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种为 Internet发展的计算机语言 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 是一种使用者不需花费很多时间学习的语言 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
页:
[1]