1.网络编程1.1网络编程的基本概念1含义及场景在网络通信协议下不同计算机上运行的程序进行的数据传输。应用场景即时通信、网络对战、金融证券、国际贸易、邮件……Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序2常见的软件架构1C/SClient/Server 客户端/服务器端在用户本地需要下载并安装客户端的程序在远处有一个服务器端程序优缺点1画面精美用户体验好 2需要开发客户端和服务端 3用户下载和更新麻烦2B/SBrowser/Server 浏览器/服务器只需要一个浏览器用户通过不同的网址访问到不同的服务器优缺点1不需要开发客户端只需要页面服务器端 2用户不需要下载打开浏览器就能使用 3如果引用过大用户体验受到影响1.2网络编程的三要素1IP设备在网络中的地址是唯一的标识全称Internet Protocol是互联网协议地址也称IP地址是分配给上网设备的数字标签1IPv4互联网通信协议第四版采用32位地址长度分成4组采用点分十进制表示法。32bit(4个字节)-11000000 10101000 00000001 01000010 192.168.1.66公网地址万维网使用和私有地址局域网使用。192.168开头的就是私有地址。127.0.0.1也可以是localhost: 是回送地址也称本机IP永远只会寻找当前所在本机。常用CMD命令ipconfig查看本机IP地址ping检查网络是否连通2IPv6采用128位地址长度分成8组采用冒分十六进制表示法。128bit(8个字节)2端口号应用程序在设备中唯一的标识端口号是由两个字节表示的整数取值范围0~65535.其中0-1023之间的端口用于一些知名的网络服务或应用。一个端口只能被一个应用程序使用。3协议数据在网络中传输的规则常见的协议有UDP、TCP、http、https、ftpUDP协议用户数据报协议UDP是面向无连接速度快有大小限制一次最多发送64K数据不安全易丢失数据。不管是否连接成功都进行发送。TCP协议传输控制协议TCPTCP是面向连接的通信协议速度慢没有大小限制数据安全。确保连接成功发送。1.3UDP通信程序发送数据1创建发送端DatagramSocket对象 2数据打包DatagramPacket3发送数据 4释放资源接收数据1创建接收端的DatagramSocket对象 2接收打包好的数据 3解析数据包 4释放资源UDP通信的三种方式1单播一对一只对一台电脑发送数据。2组播对一组电脑发送数据。组播地址224.0.0.0~239.255.255.255其中224.0.0.0~224.0.0.255为预留的组播地址。3广播可以给局域网中所有电脑发送数据。广播地址255.255.255.2551.4TCP通信程序TCP通信时一种可靠的网络协议它在通信的两端各建立一个Soket对象。通信之前要保证连接已经建立通过Socket产生IO流来进行通信。1TCP的三次握手确保连接的建立2TCP的四次挥手确保连接断开且数据处理完毕2.反射反射允许对成员变量成员方法和构造方法的信息进行编程访问。也就是说可以获取类里面的所有信息。1获取1获取class对象的三种方式Class.forName(全类名)----源代码阶段编写Java文件将Java文件编译成class文件本阶段未把代码加载进内存只在硬盘中进行了操作。【全类名包名类名】【最常用】类名.class---加载阶段字节码文件加载到内存中。【一般作为参数进行传递】对象.getClass();---运行阶段将对象加载到内存中。【当已经有对象才能使用】2获取构造方法的对象--Constructor3获取字段成员变量的对象--Field4获取成员方法的对象--Method2作用获取一个类里面的所有的信息获取到了之后再执行其他业务逻辑结合配置文件动态的创建对象并调用方法3.动态代理特点无侵入式的给代码增加额外的功能代理里面就是对象要被代理的方法。Java通过接口保证后面的对象和代理需要实现同一个接口。接口中就是被代理的所有方法。怎么为Java对象创建一个代理对象