总结

来源:互联网 发布:c语言相关书籍 编辑:程序博客网 时间:2024/06/06 01:12
  udp传输


  dategramsocket 与 datagrampacket
  发送端             接收端
   建立数据包


 调用socket 发送接收方法
关闭socket
  发送端与接收端是两个独立的运行程序


服务端 (接收端)
 UDP: 1创建udp的一个socket服务,明确制定一个端口
       2定义一个数据包,用于存储数据的,
        3 通过socket服务的接收方法,将数据存储到数据包里面
4 通过数据包提供的获取数据的方法,取到具体的数据(ip 端口。 业务数据)
5.关闭资源




客户端:(发送端)
1.创建udp的一个socket服务, 指定一个端口(可选)
如果不指定端口,则就会随机选择一个没有被使用的端口
2.准备要发送的数据
3.将要发送的数据打成数据包(DatagramPacket)
4.调用socket.send发送方法将数据包发送出去。
5.关闭资源






tcp  客户端*(发送端)
1:建立socket服务,明确要联接的服务器
2:创建传递数据的IO流,该通道成为socket流,socket流中既有读取流,也有写入流
3:通过socket对象的方法,获取这两个流
4,通过流的对象可以对数据进行传输。
5,关闭资源


 服务端 (接收端)


1.建立服务器端的serversocket服务,需要一个端口
2.服务端没有直接流的操作,而是通过serversocket.accept方法获取客户端socket对象,
3.操作接受到的socket对象。读取数据和写入数据。
4.关闭资源 (socket 、 serversocket)




java类加载  0---类加载器,可以加载网络环境上的class文件,不需要本地


当程序要使用某个类时,如果该类还未被记载到内存中。则系统会通过加载,。
联接,初始化来实现对这个类进行初始化


加载:
 就是指将class文件读入内存,并为之创建一个class对象
任何类被使用时,系统都会建立一个class 对象


联接, 验证是否有正确的内部结构,并和其他类协调一致
准备 负责为类的静态成员分配内存,并设置默认初始化值
解析 将类的二进制数据中的符号,引用替换为直接引用 


初始化 传统意义上的初始化


类需要加载到 虚拟机中才会被执行。


类加载器 (双亲委派模型)的组成


 Bootstrap ClassLoader 根类加载器 (jvm提供 c语言实现 负责加载java相关类,存在KAVA_HOME)
 Extension ClassLoader 扩展类加载器 (java实现 负责 JAVA_HOME\LIB\ext 三方)
 System ClassLoader 系统类加载器 (负责加载用户类,classpath指定的类路径)


类的加载原理
  类加载器寻找类的字节码文件(.class),构造类在JVM的内部表示对象(CLASS对象)




  发射 ------
 获取构造方法 getConstructors 获取类所有的public的构造方法
 getDeclaredConstruceors 不但可以获取public 声明的还可以获取private protected 声明构造函数


创建对象 
newInstance(); 自动调用默认构造函数。创建类class文件的实例,


获取所有的成员
 getFields ,getDeclaredFields
 获取单个成员
 getField ,getDeclaredField
修改成员的值
Field.set(Object obj,Object value)
将指定对象变量上此Field对象表示的字段设置为指定的新值
原创粉丝点击