现在的位置: 首页 > 综合 > 正文

Java 笔记11

2014年09月05日 ⁄ 综合 ⁄ 共 929字 ⁄ 字号 评论关闭

UDP编程:

DatagramSocket(邮递员):对应数据报的Socket概念,不需要创建两个socket,不可使用输入输出流。

DatagramPacket(信件):数据包,是UDP下进行传输数据的单位,数据存放在字节数组中。

UDP也需要现有Server端,然后再有Client端。

两端都是DatagramPacket(相当于电话的概念),需要NEW两个DatagramPacket。

InetAddress:网址

这种信息传输方式相当于传真,信息打包,在接受端准备纸。

模式:

发送端:Server:

DatagramPacket  inDataPacket=new DatagramPacket ((msg,msg.length);InetAdress.getByName(ip),port);

接收端:

clientAddress=inDataPack.getAddress();//取得地址

clientPort=inDataPack.getPort();//取得端口号

datagramSocket.send;  //Server

datagramSocket.accept;  //Client

URL:在应用层的编程

注意比较:

http://Localhost:8080/directory  //查找网络服务器的目录

file://directory                 //查找本地的文件系统

java的开发主要以http为基础。

反射:主要用于工具和框架的开发。

反射是对于类的再抽象;通过字符串来抽象类。

JAVA类的运行:classLoader:加载到虚拟机(vm)

Vm中只能存储对象(动态运行时的概念),.class文件加载到VM上就成为一个对象,同时初始静态成员及静态代码(只执行一次)。

Lang包下有一个类为Class:在反射中使用。此类中的每个对象为VM中的类对象,每个类都对应类类的一个对象(class.class)。

例:对于一个Object类,用getClass()得到其类的对象,获得类的对象就相当于获得类的信息,可以调用其下的所有方法,包括类的私有方法。

注意:在反射中没有简单数据类型,所有的编译时类型都是对象。

反射把编译时应该解决的问题留到了运行时。

抱歉!评论已关闭.