Java-网络编程和反射

1.网络编程

1.1网络编程的基本概念

1)含义及场景

在网络通信协议下,不同计算机上运行的程序,进行的数据传输。

应用场景:即时通信、网络对战、金融证券、国际贸易、邮件......

Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序

2)常见的软件架构

1>C/S:(Client/Server 客户端/服务器端)在用户本地需要下载并安装客户端的程序,在远处有一个服务器端程序

优缺点:1)画面精美,用户体验好 2)需要开发客户端和服务端 3)用户下载和更新麻烦

2>B/S:(Browser/Server 浏览器/服务器)只需要一个浏览器,用户通过不同的网址,访问到不同的服务器

优缺点:1)不需要开发客户端,只需要页面+服务器端 2)用户不需要下载,打开浏览器就能使用 3)如果引用过大,用户体验受到影响

1.2网络编程的三要素

1)IP:设备在网络中的地址,是唯一的标识

全称:Internet Protocol,是互联网协议地址,也称IP地址,是分配给上网设备的数字标签

1>IPv4:互联网通信协议第四版,采用32位地址长度,分成4组,采用点分十进制表示法。

32bit(4个字节)->11000000 10101000 00000001 01000010 = 192.168.1.66

公网地址(万维网使用)和私有地址(局域网使用)。192.168开头的就是私有地址。

127.0.0.1,也可以是localhost: 是回送地址,也称本机IP,永远只会寻找当前所在本机。

常用CMD命令:ipconfig:查看本机IP地址,ping:检查网络是否连通

2>IPv6:采用128位地址长度,分成8组,采用冒分十六进制表示法。128bit(8个字节)

2)端口号:应用程序在设备中唯一的标识

端口号是由两个字节表示的整数,取值范围0~65535.其中0-1023之间的端口用于一些知名的网络服务或应用。一个端口只能被一个应用程序使用。

3)协议:数据在网络中传输的规则,常见的协议有UDP、TCP、http、https、ftp

UDP协议(用户数据报协议):UDP是面向无连接,速度快,有大小限制,一次最多发送64K,数据不安全,易丢失数据。不管是否连接成功都进行发送。

TCP协议(传输控制协议TCP):TCP是面向连接的通信协议,速度慢,没有大小限制,数据安全。确保连接成功发送。

1.3UDP通信程序

发送数据:1>创建发送端DatagramSocket对象 2>数据打包(DatagramPacket)3>发送数据 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.255

1.4TCP通信程序

TCP通信时一种可靠的网络协议,它在通信的两端各建立一个Soket对象。通信之前要保证连接已经建立,通过Socket产生IO流来进行通信。

1)TCP的三次握手:确保连接的建立

2)TCP的四次挥手:确保连接断开,且数据处理完毕

2.反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问。也就是说可以获取类里面的所有信息。

1)获取

1>获取class对象的三种方式

Class.forName("全类名")----源代码阶段:编写Java文件,将Java文件编译成class文件,本阶段未把代码加载进内存,只在硬盘中进行了操作。【全类名=包名+类名】【最常用】

类名.class---加载阶段:字节码文件加载到内存中。【一般作为参数进行传递】

对象.getClass();---运行阶段:将对象加载到内存中。【当已经有对象才能使用】

2>获取构造方法的对象--Constructor

3>获取字段(成员变量)的对象--Field

4>获取成员方法的对象--Method

2)作用

获取一个类里面的所有的信息,获取到了之后,再执行其他业务逻辑

结合配置文件,动态的创建对象并调用方法

3.动态代理

特点:无侵入式的给代码增加额外的功能

代理里面就是对象要被代理的方法。

Java通过接口保证,后面的对象和代理需要实现同一个接口。接口中就是被代理的所有方法。

怎么为Java对象创建一个代理对象?

相关推荐
andxe10 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一11 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈12 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
水境传感 李兆栋12 小时前
GNSS 位移监测站 :毫米级感知,筑牢安全监测防线
网络
中微极客14 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
猿的天空17 小时前
机器人双手迎来全栈训练系统:灵初智能EgoSteer让灵巧手无所不能
网络·人工智能·计算机·ai·程序员·机器人·编程
Xzaveir_77718 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
wuqingshun31415918 小时前
从网络角度来看,用户从输入网址到网页显示,期间发生了什么?
网络
牛马工作号18 小时前
Zigbee 专业详解:从协议到排障
网络·物联网·安全
牛马工作号18 小时前
Wi‑Fi 完全指南:从 802.11 协议到 Wi‑Fi 7、AC+AP 与 Mesh 工程组网
网络·网络协议·智能路由器